MySQL-当嵌套选择使用该表时如何从表中删除?

MySQL-当嵌套选择使用该表时如何从表中删除?,第1张

MySQL-当嵌套选择使用该表时如何从表中删除?

可能会收到此错误:

ERROR 1093 (HY000): You can't specify target table 'table_1' for update in FROM clause.

您应该能够使用MySQL的多表

DELETe
语法来做到这一点:

DELETE table_1.*FROM   table_1,       table_2,       table_3WHERe  table_1.id = table_2.table_1_idAND    table_2.id = table_3.table_2_idAND    table_3.id = 5

上面的查询应该可以工作,但是作为一般规则,我建议使用ANSI JOIN语法代替:

DELETe table_1.*FROM   table_1INNER JOIN table_2 on table_2.table_1_id = table_1.idINNER JOIN table_3 on table_3.table_2_id = table_2.idWHERe table_3.id = 5


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5144629.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-17
下一篇2022-11-17

发表评论

登录后才能评论

评论列表(0条)

    保存