[PHP/MySQL] Auto-Increment-Wert eines erstellten Datensatzes zurückgeben

mh1001

Lt. Commander
Registriert
Nov. 2003
Beiträge
2.039
Hallo,

wie der Titel schon sagt, geht es mir darum, den Inhalt eines Auto-Increment-Feldes, welcher bei einem INSERT-Anfrage automatisch hinzugefügt wird zurückzugeben, da dieser in der weiteren Abbarbeitung eines Scripts benötigt wird.
Eigentlich kann ich mir nicht vorstellen, dass dies eine hohe Schwierigkeit darstellen sollte, jedoch habe ich schon das gesamte MySQL-Manual durchsucht und nichts passendes gefunden.

Natürlich könnte ich den letzten eingefügten Wert immer über eine weitere Abfrage mit MAX oder LIMIT und ORDER BY auslesen, jedoch stellt dies imho keine wirkliche Lösung dar, da es unter Umständen, auch wenn dies nur extrem selten oder vielleicht sogar nie, vorkommen könnte, dass zwischen der ersten Anfrage und der zweiten Anfrage, welche den entsprechenden Wert ermittelt, eine weitere Anfrage dazwischen kommen könnte, welche dann das Ergebnis verfälschen würde.

Deswegen meine Frage: Gibt es eine Möglichkeit diesen Wert eindeutig zurückzugeben?

MfG mh1001
 
Versuche es mal mit der Funktion mysql_insert_id(), die dir die ID des zuletzt erzeugten Datensatzes zurückgibt.
 
Valium110 schrieb:
Versuche es mal mit der Funktion mysql_insert_id(), die dir die ID des zuletzt erzeugten Datensatzes zurückgibt.
So einfach kann es sein. ;) Einen herzlichen Dank an dich. :daumen:

Warum habe ich dies nur vorher nirgends gefunden?!

MfG mh1001
 
Das ist ne PHP-Funktion, deswegen findest du in nem MySQL-Buch nichts ;-) .
 
Valium110 schrieb:
Das ist ne PHP-Funktion, deswegen findest du in nem MySQL-Buch nichts ;-) .
Dass ich sie im MySQL-Handbuch nicht gefunden habe, kann ich mir noch erklären, aber dass ich es über eine Stunde geschafft habe, bei Google mit den falschen Suchbegriffen zu suchen ist mir unbegreiflich. ;) :lol:

Aber hauptsache die Funktion verichtet jetzt ihren Dienst. ;)

MfG mh1001
 
Zurück
Oben