MYSQL #1093 - You can't specify target table 'dealer_admin' for update in FROM clause

目前在写程序时,在处理MYSQL时遇到一个问题,问题如下

  
    
update dealer_admin set is_super_admin = 1 where id in ( select id from dealer_admin group by dealer_id );

此时会报:#1093 - You can't specify target table 'dealer_admin' for update in FROM clause

在网上找了一个暂时可以解决的方法

  
    
create temporary table tmp (id int );
insert into tmp (id) select id from dealer_admin group by dealer_id;
update dealer_admin set is_super_admin = 1 where id in ( select id from tmp);

你可能感兴趣的:(for update)