美文网首页
MySQL子查询更新当前表

MySQL子查询更新当前表

作者: 梨花菜 | 来源:发表于2020-08-18 11:37 被阅读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 );
    

    相关文章

      网友评论

          本文标题:MySQL子查询更新当前表

          本文链接:https://www.haomeiwen.com/subject/sybhjktx.html