phpbar.de logo

Mailinglisten-Archive

[php] Frage zu last_insert_id()

[php] Frage zu last_insert_id()

Michael Forster mforster_(at)_inntal.net
Sun, 28 Nov 1999 12:09:45 +0100


Hallo,
hat jemand von Euch Erfahrungen mit dem Einsatz von last_insert_id()?

Ich habe ein Table mit einem auto_increment column. Nach dem Insert zählt
mir dieses Feld automatisch hoch. Alles klar, das soll es auch. Ich möchte
jetzt genau diesen Wert dieses Feldes in ein zweites Table schreiben.
Ich dachte da an last_insert_id(). Ich habe jetzt allerdings Bedenken, dass
mir ein anderer Client, der zwischenzeitlich auch auf dieses Table schreibt,
das Ergebnis von last_insert_id() verfäscht.

Beispiel:
Ich mache einen Insert, das auto_increment Feld erzeugt den Wert 1000.
Jetzt kommt ein anderer Client daher und setzt den Zähler auf 1001.
Wenn ich jetzt in meiner gleichen aktiven Session last_insert_id() benutze,
bekomme ich dann den Wert 1000 oder den Wert 1001 zurück???

Das Manual sagt auf S.171:
The last ID that was generated is maintained in the Server on a
per-connection basis. It will not be changed by another client...

Das ist eigentlich eindeutig, allerdings sind andere Stellen im Handbuch
wiederum nicht so eindeutig, bzw. wiedersprechen IMHO sogar dieser Aussage.

Hat jemand schon einmal diese Funktion benutzt und welche Erfahrungen gibt
es?

Danke für jeden Tipp!

Ciao
Michael



php::bar PHP Wiki   -   Listenarchive