首页 > 技术文章 > MySQL之You can't specify target table for update in FROM clause解决办法

dw-date 2020-04-26 17:24 原文

做删除的时候遇到了这个问题

You can't specify target table for update in FROM clause 意思是:不能查询表中的字段并更新这些字段在同一张表中。

解决:在包一层就行了

 

错误sql:

DELETE 
FROM
    orders 
WHERE
    id IN (SELECT id FROM    orders)

 

改正sql:

DELETE 
FROM
    orders 
WHERE
    id IN (SELECT t.id FROM (SELECT id FROM    orders)t)

 

推荐阅读