sql >> Databasteknik >  >> RDS >> Mysql

Uppdatera med en underfråga i MySQL

Tja, det låter som att ditt namnfält inte är unikt. Din underfråga matchar mer än en rad, så du måste antingen hitta ett unikt id att matcha på annat än namn, eller så gör du så här om du bara vill ta det första resultatet från underfrågan:

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



  1. Okänt kolumnfel i fullständig syntax för koppling

  2. Vilken är den bästa metoden att använda / lagra krypteringsnycklar i MySQL

  3. VÄLJ fast antal rader genom att jämnt hoppa över rader

  4. får fel - SQLSTATE[21000]:Kardinalitetsbrott:1241 Operand bör innehålla 1 kolumn(er)