Datensatz bei Bedarf bearbeiten oder anlegen

Wenn nicht bekannt ist ob ein Datensatz bereits vorhanden ist und somit nur bearbeitet werden muss (UPDATE) oder neu angelegt werden muss (INSERT), hilft eine Erweiterung der INSERT-Anweisung weiter.

Wenn beim Hinzufügen ein doppelter Primärschlüssel (PRIMARY KEY) gefunden wird, wird der Datensatz mit diesem Primärschlüssel geändert und somit nicht neu angelegt.

INSERT INTO tabelle
          ( id
         , feld_1
         , feld_2
) VALUES ( 1
         , 'wert'
         , 'wert'
         ) ON DUPLICATE KEY
     UPDATE feld_1 = 'wert'
         , feld_2 = 'wert'

Aktualisiert am

Abgelegt unter: MySQL