MySQL attempting to delete all rows which are not constrained by foreign key

廉价感情. 提交于 2019-12-05 18:07:24
DELETE FROM job USING job 
LEFT JOIN jobAssignment ON(job.Job_Id = jobAssignment.JobId)
WHERE jobAssignment.JobId IS NULL;

You'll probably need a subquery, not sure if this will work in mySQL, but something similar at least:

DELETE FROM job
WHERE job.Job_Id NOT IN (
  SELECT JobId FROM jobAssignment
)

Naktibalda suggests the subquery may be inefficient; if so you could try

DELETE FROM job
     WHERE NOT EXISTS (SELECT *
                           FROM jobassignment
                           WHERE job.Job_Id = jobassignment.Job_Id);

I've had bad experiences with IN and NOT IN in the past; less trouble with NOT EXISTS.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!