Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hi

Ich hab in PHP folgendes Problem:

Ich erstell einen Datensatz in einer SQL Datenbank. Dieser Datensatz bekommt eine ID Nummer, die per auto_increment hochgezählt wird.

In der nächsten Zeile brauch ich aber für eine Abfrage genau diese ID Nummer, die ich gerade erst erzeugt hab.

Bisher hab ich das so gelöst, dass ich einfach den letzten Datensatz genommen hab, der erzeugt worden ist, aber das ist ja irgendwie nicht ideal. Oder kann man das lassen, da die Wahrscheinlichkeit zu gering ist, dass 2 Datensätze in derselben Milisekunde erzeugt werden, bis die 2. Abfrage durch ist.

Gibt es da noch elegante Lösungen?

Noxy

Geschrieben

Hallo Jaraz!

Neben der MySQL-Funktion LAST_INSERT_ID() gibt es auch noch die PHP-Funktion mysql_insert_id(). Diese hat den Vorteil, dass du den Overhead für eine weitere SQL-Abfrage einsparst.

Geschrieben

Da er geschrieben hat das er das für eine Abfrage braucht, ist der Aufwand so geringer, da der Wert nicht erst aus der Connection abgefragt werden muss, sondern alles Datenbank intern abläuft.

mysql_insert_id() arbeitet nur korrekt wenn die auto_increment Spalte von Typ INT ist. Bei BIGINT versagt sie z.B. weswegen ich nur drauf zurückgreife, wenn es unbedingt nötig ist.

Aber in diesem Fall würde das wahrscheinlich auch funktionieren. Muss der Fragesteller sich halt aussuchen, wie er es macht. ;)

Gruß Jaraz

Geschrieben

Hi

Ich hab jetzt mal die SQL Funktion verwendet und es klappt, als Datentyp hab ich sowiso nur INT, da sollte es keine Probleme geben.

Vielen Dank an alle

Noxy

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...