如何删除一个表里数据是另一个表不存在的

有表A 和表B.
A是索引表,B是详细表(数据结构如下)
A表
id title
1 标题
2 标题

B表
id listid info
1 1 内容1
2 1 内容2
3 1 内容3
4 2 内容1
5 2 内容2
6 2 内容3
7 3 内容1
8 3 内容2
9 3 内容3

现在A表已删除了某条记录

如何能将B表也删除A表没有的记录.

阅读 7k
2 个回答
DELETE FROM B WHERE id IN (SELECT B.id FROM B LEFT JOIN A ON B.id=A.id WHERE A.id IS NULL);

后来搜索了一下,You can't specify target table 'B' for update in FROM clause
是mysql特有的情况,在外面加一层select套住就行了

推荐问题