Hi,
ich möchte in eine DB-Tabelle einen Datensatz einfügen, mit einem Feld, welches Unique ist.
Mit "INSERT IGNORE INTO tabelle ..."
kann ich es machen. Das IGNORE ignoriert doppelte Einträge, also wenn es zu einem doppelten Eintrag kommt, wird der Datensatz nicht eingefügt.
Bsp:
ID | Name
---------
1 | Test
2 | Beispiel
Name sei Unique, ID sei auto_increment. Wenn ich nun einen Datensatz einfügen will mit dem Feld Name = "Beispiel", dann wird dieser nicht eingefügt, da Name ja Unique sein soll.
Jedoch gibt mir mysql_insert_id() dann die Zahl 3 zurück. Ich will aber die 2 haben, da ich diese ID als Fremdschlüssel für eine andere Tabelle brauche.
Ich könnte natürlich erst mit einem Select überprüfen ob "Beispiel" schon existiert, und dann die ID dazu nehmen und andernfalls eben neu einfügen und insert_id nehmen, aber dann habe ich eine anfrage mehr, was evtl performance kostet.
Habt ihr ne Idee???
Gruß
Scooter