mysql - 如何在mysql中使用内连接删除行
问题描述
DELETE *
FROM ((disease
INNER JOIN dishead ON disease.heading = dishead.hid)
INNER JOIN disdes ON disease.description = disdes.did)
where disease.id = 9;
基本上我已经使用内部连接插入了数据,并且数据存储在多个表中的同一产品中现在我正在尝试编写查询以从所有表中删除插入的行
解决方案
您必须指定要从中删除的表
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
. 然后你只需要从父表中删除,引用它们的行将被自动删除。
推荐阅读
- python - 如何在 python 中绘制基于散点图的 2 x 2 三维图,以使它们均匀分布在图中?
- javascript - 节点中的请求有效,但在 js(vue)中无效
- java - 尝试自动装配多个实现时无法从 Java 类中获取注释
- java - 更改 LinkedList 元素的位置
- excel - Excel VBA - 如果填写了其他单元格,则不允许空白
- typescript - 打字稿:使用通用函数获取嵌套对象的值
- asp.net - 以编程方式更改窗体上的 aspx 按钮 Click 事件 Page_Load 不一致
- python - 二叉树下未来股价的期望与方差
- python - 将字符串转换为日期时间时,熊猫不添加时间
- android - 使用摘要授权 ExoPlayer 流式传输 http url