MySQL子查询更新当前表

2020-08-18  本文已影响0人  梨花菜

错误操作1093 - You can't specify target table 'api' for update in FROM clause

UPDATE api 
SET relation = 16 
WHERE
    id IN ( SELECT a.id FROM api a WHERE project_id = 11 AND NAME LIKE 'szmsg%' );

正确操作

# 先查出条件,然后把这个条件当成一个临时表t2
UPDATE api 
SET relation = 16 
WHERE
    id IN ( SELECT id FROM ( SELECT a.id FROM api a WHERE project_id = 11 AND NAME LIKE 'szmsg%' ) t2 );
上一篇 下一篇

猜你喜欢

热点阅读