Monthly Archives: Januar 2014

MySQL: Insert or Update?

Oft weiß man nicht, ob es einen Datensatz bereits gibt, wenn man ihn einfügen möchte. Sollte er  schon vorhanden sein, dann man möchte ihn updaten. Gerade in einer Multiuser-Umgebung ist das aber krititsch, weil der Client nicht wissen kann ob mittlerweile der Datensatz angelegt wurde.

MySQL erlaubt einem mit einem Befehl das Problem zu lösen:

INSERT INTO MyTable (id,a,b) VALUES (1,'description',17)
  ON DUPLICATE KEY UPDATE a='description',b=17;

Cheers
Ralf