php - Quel est le problème avec cette instruction SQL?
某草草
某草草 2017-06-05 11:09:23
0
4
678
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

Comment cette phrase devrait-elle être modifiée de manière appropriée

某草草
某草草

répondre à tous(4)
phpcn_u1582

mysql中Vous ne pouvez pas spécifier la table cible pour la mise à jour dans la clause FROM错误

过去多啦不再A梦

Vous souhaitez supprimer les éléments introuvables dans le tableau user_idli_user Pourquoi ne pas simplement utiliser :

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

Vos opérations de sous-requête et de suppression sont sur la même table. Vous ne pouvez pas interroger et mettre à jour la même table en même temps.
Il suffit de passer en mode Rejoindre.

PHPzhong

DELETE de li_make_code où user_id in ( SELECT user_id from
(sélectionnez user_id de li_make_code a où n'existe pas (sélectionnez 1 de li_user b où b.id=a.user_id)) bb)

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal