我必须从 guide_category
中删除与 guide
表(死关系)无关的行 .
这是我想要做的,但它当然不起作用 .
DELETE FROM guide_category AS pgc
WHERE pgc.id_guide_category IN (SELECT id_guide_category
FROM guide_category AS gc
LEFT JOIN guide AS g ON g.id_guide = gc.id_guide
WHERE g.title IS NULL)
错误:
您无法在FROM子句中为更新指定目标表'guide_category'
4 回答
由于锁定实现问题,
MySQL
不允许使用DELETE
或UPDATE
引用受影响的表 .你需要在这里制作一个
JOIN
:或者只是使用
NOT IN
:我认为,根据您的描述,以下内容就足够了:
我假设,所涉及的表没有参照完整性约束,是吗?
试试这个示例SQL脚本以便于理解,
你的情况是:
怎么样: