Jörg: mysql Insert Row if not exists

Beitrag lesen

Tach!

wie fügt man in mysql eine zeile ein, wenn es sie nocht nicht gibt?

Man legt einen Unique Key über die Felder, die den Datensatz eindeutig machen. (Einen Key über alle Felder, nicht jedem Feld einen eigenen Key geben!) Dann fügt man den Datensatz ganz normal mit Insert ein. Wenn das klappt, gab es den Datensatz noch nicht. Wenn der Vorgang mit Fehler wegen Unique-Key-Verletzung abbricht, gab es den schon. Man muss die Fehlernummer genau auswerten, um diese Meldung von anderen zu unterscheiden. Denn diesen Fehler erwartet man ja und muss ihn nicht dem Administrator oder Logfile melden, die anderen aber schon.

Hi dedlfix,

du spielst vermutlich auf einen error1062 an. Habe ich auch schon drüber nachgedacht. Muss ich mal ausprobieren.

Jörg