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

Aktualisieren, wenn Zeile vorhanden ist, andernfalls neue Zeile in eine andere Tabelle einfügen

Wenn Sie ON DUPLICATE KEY UPDATE , und es wird eine Zeile eingefügt, die einen doppelten Wert in einem UNIQUE verursachen würde index oder PRIMARY SCHLÜSSEL , ein UPDATE der alten Reihe durchgeführt wird. Zum Beispiel, wenn Spalte a als UNIQUE deklariert ist und den Wert 1 enthält, haben die beiden folgenden Anweisungen die gleiche Wirkung:

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

UPDATE table SET c=c+1 WHERE a=1;