我有两个表,一个用于工作截止日期,一个用于描述工作。每个作业可以具有一个状态,某些状态表示必须从另一个表中删除作业的截止日期。
我可以轻松地SELECT通过以下方式满足我的标准的工作/最后期限LEFT JOIN:
SELECT * FROM deadline
LEFT JOIN job
ON deadline.job_id = job.job_id WHERE status
= 'szamlazva' OR status
= 'szamlazhato' OR status
= 'fizetve' OR status
= 'szallitva' OR status
= 'storno' (不status属于job表deadline)
但是,当我想从中删除这些行时deadline,MySQL会引发错误。我的查询是:
DELETE FROM deadline
LEFT JOIN job
ON deadline.job_id = job.job_id WHERE status
= 'szamlazva' OR status
= 'szamlazhato' OR status
= 'fizetve' OR status
= 'szallitva' OR status
= 'storno' MySQL错误什么也没说:
您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在'LEFT JOIN jobON最后期限附近使用。job_id= job.job_id WHERE status='szaml'在第1行
如何将我SELECT的DELETE查询变成有效的查询?
您只需要指定要在哪些表上应用DELETE。
仅删除deadline行:
DELETE deadline
FROM deadline
LEFT JOIN job
.... 删除deadline和job行:
DELETE deadline
, job
FROM deadline
LEFT JOIN job
.... 仅删除job行:
DELETE job
FROM deadline
LEFT JOIN job
....来源:stack overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。