php - What is wrong with this sql statement?
某草草
某草草 2017-06-05 11:09:23
0
4
608
DELETE from li_make_code  where user_id in 
(    
    select user_id from li_make_code a 
        where 
            not exists (select 1 from li_user b  where b.id=a.user_id)
) ;
[Err] 1093 - You can't specify target table 'li_make_code' for update in FROM clause

How should this statement be changed appropriately?

某草草
某草草

reply all(4)
phpcn_u1582

mysql中You can't specify target table for update in FROM clause错误

过去多啦不再A梦

You want to delete the user_id that cannot be found in the li_user table? Why not just use:

delete from li_make_code where user_id not in 
    (select distinct id from li_user)
習慣沉默

Your subquery and delete operations are on the same table. You cannot query and update the same table at the same time.
Just change to join mode.

PHPzhong

DELETE from li_make_code where user_id in ( SELECT user_id from
(select user_id from li_make_code a where not exists(select 1 from li_user b where b.id=a.user_id)) bb)

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template