使用 LEFT JOIN 从 MySQL 表中删除行
问题:
你有两个MySQL 表,一个代表作业截止日期,另一个描述作业。每个作业都有一个状态,某些状态指示应删除相应的截止日期行。使用 LEFT JOIN,您可以选择符合您的条件的截止日期和作业行。但是,当尝试删除这些行时,您会遇到错误。如何修改查询以实现所需的删除?
答案:
要使用 LEFT JOIN 从 MySQL 表中删除行,您必须指定哪个表( s) 从中删除。您遇到的错误很可能是由于遗漏了此规范造成的。
解决方案:
1.仅删除截止日期行:
要仅删除截止日期表中的行,请使用以下查询:
DELETE `deadline` FROM `deadline` LEFT JOIN `job` ON deadline.job_id = job.job_id WHERE ...;
2。删除截止日期和作业行:
要删除截止日期和作业行,请使用以下查询:
DELETE `deadline`, `job` FROM `deadline` LEFT JOIN `job` ON deadline.job_id = job.job_id WHERE ...;
3.仅删除作业行:
要仅删除作业行,请使用以下查询:
DELETE `job` FROM `deadline` LEFT JOIN `job` ON deadline.job_id = job.job_id WHERE ...;
在每种情况下,将 ... 替换为适当的 WHERE 子句指定要删除行的作业状态。
以上是如何使用 LEFT JOIN 从 MySQL 表中删除行?的详细内容。更多信息请关注PHP中文网其他相关文章!