PHP如果table2中没有行,则从table1中删除行

时间:2014-03-15 22:13:51

标签: php

我有两个表,一个是实际帖子的位置,另一个是保存的帖子。 如果从网站删除帖子,我想从保存的表中删除一行

我试过了:

mysql_query("DELETE FROM `saved` WHERE (SELECT * FROM `ads` WHERE ad_id = `saved`.ad_id) LIMIT 1");

但这不起作用。想不出怎么做正确的方式

感谢任何帮助!

3 个答案:

答案 0 :(得分:0)

您可以使用左外连接来获取表1中存在的行而不存在于表2中,然后您可以使用其ID从表2中删除它

答案 1 :(得分:0)

mysql_query("DELETE FROM `saved` WHERE `saved`.ad_id not in (SELECT ad_id FROM `ads`)");

答案 2 :(得分:0)

这将删除savedsaved.ad_id未引用任何ads.ad_id的所有行

delete s
from saved AS s 
    left outer join ads as a 
        on a.ad_id=s.ad_id
where a.ad_id is null;

更多信息:MySql delete syntax

在这里:MySql Multi delete example