如果行存在,MySQL删除?

Lea*_*ner 1 mysql sql

我想从多个表中删除数据,数据肯定会驻留在ad_master中,但子表会不时变化.我尝试了以下查询但它至少不删除单个记录并保持沉默.我想删除与我的给定数字($ delete_no)相关联的每条记录(如果它们存在于我的任何给定表格中).

DELETE am,sub1,sub2,sub3
FROM ad_master am
INNER JOIN ad_vehicles sub1
ON sub1.Ad_no=am.Ad_no
INNER JOIN ad_properties sub2
ON sub2.Ad_no=am.Ad_no
INNER JOIN ad_electronics sub3
ON sub3.Ad_no=am.Ad_no
WHERE am.Ad_no=$delete_no
Run Code Online (Sandbox Code Playgroud)

请指导我解决这个问题.感谢名单.

小智 5

尝试LEFT JOIN而不是INNER.使用INNER JOIN,您可以创建两个表的交集,如果ad_vehicles中不存在$ delete_no,则结果为空.