Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Aktualisieren Sie mit einer Unterabfrage in MySQL

Nun, es hört sich so an, als ob Ihr Namensfeld nicht eindeutig ist. Ihre Unterabfrage stimmt mit mehr als einer Zeile überein, also müssen Sie entweder eine eindeutige ID finden, die mit einem anderen als dem Namen übereinstimmt, oder wenn Sie nur das erste Ergebnis aus der Unterabfrage nehmen möchten, gehen Sie wie folgt vor:

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