Jörg: mysql Insert Row if not exists

Beitrag lesen

Hallo Rolf,

Deine Abfrage ist aber nicht logisch. Du fügst Bla=1 und Blu=0 ein, aber im WHERE fragst Du Bla=1 und Blu=1 ab. Ist das das, was Du willst? Oder ein Tippfehler?

Ja, Tippfehler.,

Wenn Du sicherstellen willst, dass die gleiche Kombination von BLA und BLU Werten nicht doppelt in der DB vorkommt, könntest Du einen UNIQUE INDEX über BLA und BLU anlegen.

Ja, dedlfix schlägt das auch schon vor. Und ja, das sollte einen 1062er im Fehlerfall auswerfen. Da ich Nummernkreise hochzähle, kann man das sogar ganz nett mit einer do...while (mysqli_error($con) == 1062)-Schleife lösen.

Dass Du Die ID auf NULL setzt, ok, da hab ich mal wieder was gelernt. Nach meiner Kenntnis muss man AUTO INCREMENT Spalten beim INSERT weglassen, wenn man den Auto-Inkrement haben will. Aber es ist schon OK, MYSQL unterstützt das so (solange ID eine NOT NULL Spalte ist).

Genau. Weglassen ginge natürlich auch. Und auch ich habe was gelernt, wenn das "Nullen" in anderen Datenbanksystemen nicht zulässig ist 😉

Jörg