首页 > 解决方案 > 如何在mysql中使用内连接删除行

问题描述

DELETE *
FROM ((disease
INNER JOIN dishead ON disease.heading = dishead.hid)
INNER JOIN disdes ON disease.description = disdes.did)
where disease.id = 9;

基本上我已经使用内部连接插入了数据,并且数据存储在多个表中的同一产品中现在我正在尝试编写查询以从所有表中删除插入的行

标签: mysql

解决方案


您必须指定要从中删除的表

DELETE d, dh, dd
FROM disease AS d
JOIN dishead AS dh ON d.heading = dh.hid
JOIN disdes AS dd ON d.description = dd.did
WHERE d.id = 9

另请注意,如果这些是外键,您可以使用ON DELETE CASCADE. 然后你只需要从父表中删除,引用它们的行将被自动删除。


推荐阅读