MySQL执行多表DELETE报错Unknown table 'table1' in MULTI DELETE求助
问题原因
- 触发
Unknown table 'table1' in MULTI DELETE报错的核心原因:你在FROM子句中已经给table1、table2、table3、table4声明了别名t1、t2、t3、t4,MySQL多表删除语法要求,一旦给表声明了别名,DELETE关键字后只能跟随别名,不能再使用原表名,原表名在当前查询的上下文作用域中已经被别名覆盖,无法被识别。 - 额外存在的语法错误:关联
table4的语句漏写了空格,你写的是left jointable4,正确语法是left join table4。
修正后的SQL语句
DELETE t1, t2, t3, t4 FROM table1 AS t1 LEFT JOIN table2 AS t2 ON t1.id = t2.tid LEFT JOIN table3 AS t3 ON t1.id = t3.tid LEFT JOIN table4 AS t4 ON t1.id = t4.tid WHERE t1.id = 77
操作提示
执行删除前建议先把语句中的DELETE t1, t2, t3, t4替换为SELECT *,验证匹配到的数据是否符合你的删除预期,避免误删数据。
内容的提问来源于stack exchange,提问作者dereklim7777777
相关产品推荐
相关产品推荐

