1

这是我的要求

> DELETE FROM A WHERE id in (    Select
> id From A    Left Join B on A.id=B.id 
> Where B.id is null )

当我执行这个我有这个错误

您不能在 FROM 子句中指定目标表“A”进行更新

4

3 回答 3

5

也许你可以这样做?

DELETE FROM A WHERE id NOT IN (SELECT DISTINCT B.id FROM B);
于 2011-04-12T08:28:50.860 回答
1

您想从表 A 中删除表 B 中没有匹配 id 的所有记录吗?

这个怎么样:

DELETE
FROM A
WHERE NOT EXISTS (select 1 from B where A.id = B.id);
于 2011-04-12T08:28:02.203 回答
1
DELETE FROM A
WHERE NOT EXISTS (
    SELECT *
    FROM B
    WHERE content_id = B.content_id
)
于 2011-04-12T08:31:07.937 回答