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

Mehrere Set- und Where-Klauseln in Update-Abfrage in MySQL

Sie können INSERT INTO .. ON DUPLICATE KEY UPDATE verwenden um mehrere Zeilen mit unterschiedlichen Werten zu aktualisieren.

Sie benötigen einen eindeutigen Index (wie einen Primärschlüssel), damit der "Duplicate Key"-Teil funktioniert

Beispiel:

INSERT INTO table (a,b,c) VALUES (1,2,3),(4,5,6)
  ON DUPLICATE KEY UPDATE b = VALUES(b), c = VALUES(c);

-- VALUES(x) points back to the value you gave for field x
-- so for b it is 2 and 5, for c it is 3 and 6 for rows 1 and 4 respectively (if you assume that a is your unique key field)

Wenn Sie einen konkreten Fall haben, kann ich Ihnen die genaue Frage stellen.