我必须从中删除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'进行更新
由于锁定实现问题,MySQL不允许使用DELETE或引用受影响的表UPDATE。
您需要在JOIN此处制作一个:
DELETE gc.* FROM guide_category AS gc LEFT JOIN guide AS g ON g.id_guide = gc.id_guide WHERE g.title IS NULL 或只是使用NOT IN:
DELETE
FROM guide_category AS gc WHERE id_guide NOT IN ( SELECT id_guide FROM guide )来源:stack overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。