我想删除两个表中图表 ID 为 1 的所有行,但它不起作用,我不知道为什么。
DELETE `cms_module_charts`
FROM `cms_module_charts`
INNER JOIN `cms_module_charts_kategorie`
ON `cms_module_charts_kategorie`.`chart_id`=`cms_module_charts`.`chart_id`
WHERE `chart_id`= 1
这是错误:
意想不到的角色。 (位置 7 的“cms_module_charts
”附近)
最佳答案
来自MySQL Docs看起来你可以轻松做到这一点:
DELETE t1, t2
FROM t1 INNER JOIN t2 INNER JOIN t3
WHERE t1.id=t2.id AND t2.id=t3.id;
或者
DELETE
FROM t1, t2
USING t1 INNER JOIN t2 INNER JOIN t3
WHERE t1.id=t2.id AND t2.id=t3.id;
看起来更新的、更好的 JOIN
标准是可以接受的,我不知道为什么你的查询会提示。您确定查询中没有任何奇怪的字符吗?
关于mysql - 如何在mysql中使用INNER JOIN从两个表中删除行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36624262/