1. -- 错误写法
    2. delete from tab_name t1 where t1.col_name = val;
    3. -- 小例子
    4. DELETE
    5. FROM
    6. priv_user_role pur
    7. WHERE
    8. EXISTS (
    9. SELECT
    10. pr.id
    11. FROM
    12. priv_role pr
    13. WHERE
    14. pr.platform_id = 2
    15. AND pur.role_id = pr.id
    16. )
    17. -- 运行报错:
    18. WHERE
    19. EXISTS (
    20. SELECT
    21. pr.id
    22. FROM
    23. priv_role pr
    24. WHERE
    25. pr.platform_id = 2
    26. AND pur.role_id = pr.id
    27. )
    28. [Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'pur
    29. WHERE
    30. EXISTS (
    31. SELECT
    32. pr.id
    33. FROM
    34. priv_role pr
    35. WHERE
    36. ' at line 3
    37. -- delete 是可以取别名的,准确写法
    38. delete a from table1 a where a.status=2
    39. and EXISTS (select b.id from table2 b where b.fid=a.id)