Mysql
 sql >> Base de données >  >> RDS >> Mysql

Mettre à jour avec une sous-requête dans MySQL

Eh bien, il semble que votre champ de nom ne soit pas unique. Votre sous-requête correspond à plus d'une ligne, vous devez donc soit trouver un identifiant unique à faire correspondre autre que le nom, soit, si vous souhaitez simplement prendre le premier résultat de la sous-requête, procédez comme suit :

UPDATE TABLE1 SET ID = (SELECT TABLE2.ID FROM TABLE2, TABLE1 WHERE TABLE1.NAME=TABLE2.NAME LIMIT 1) WHERE TABLE1.ID IS NULL