Erik: (MySQL) Zwei Felder mit dem Auto-Increment-Wert füllen

Beitrag lesen

Hi Antje,

ist es möglich bei einer Insert-Operation ein weiteres Feld mit dem Wert des Auto-Increment Feldes zu belegen?
Und jetzt soll mit einem INSERT folgendes hinzugefügt werden:

4                        4              bar

Nein geht nicht, da die ID erst mit dem Insert vergeben wird und noch nicht existiert.
Aber warum so kompliziert? Definiere für das Feld einen Zustand z.B. -1 oder einfach leer lassen, der dann gesetzt wird, wenn die ID als Merkmal verwendet werden soll.

Es soll halt nach dem Feld "Sonstiges1" (wobei das Auto-Increment-Feld natürlich nicht immer gleich "Sonstiges1" ist) sortiert werden, deshalb funktioniert das wohl nicht.

Mir ist klar, dass ich das ganze auch mit einer INSERT, einer SELECT und einer UPDATE-Operation erreichen kann, geht das aber nicht auch mit nur einem INSERT?

Den Select als Zwischenoperation kannst du dir sparen. Zumindest in PHP kannst du mit mysql_insert_id() die id ermitteln. Ansonsten geht auch update Tabellenname set Feldname=AnderesFeld where ...

Hm, stimmt. Daran habe ich nicht gedacht. Aber besser wäre es trotzdem wenn ich das mit nur einer Operation erreichen könnte.

VG
Erik