MySQL INSERT UPDATE ON DUPLICATE KEY

Kommentieren Sep 03 2013

 

MySQL bietet bei einem INSERT die Möglichkeit anhand eines eindeutigen Keys zu überprüfen ob so ein Eintrag schon vorhanden ist und wenn ja diese zu aktualisieren.

INSERT … ON DUPLICATE KEY UPDATE

Wenn man nun wissen möchte ob bei solch einem Statement ein UPDATE oder ein INSERT stattgefunden hat, kann man dies mit der ROW_COUNT Funktion herausfinden.

For INSERT … ON DUPLICATE KEY UPDATE statements, the affected-rows value per row is 1 if the row is inserted as a new row, 2 if an existing row is updated, and 0 if an existing row is set to its current values. If you specify the CLIENT_FOUND_ROWS flag, the affected-rows value is 1 (not 0) if an existing row is set to its current values.