Letzte, automatisch erzeugte, ID via SQL erhalten

Status
Nicht offen für weitere Antworten.

Leroy42

Top Contributor
Ich habe das schonmal implementiert, komme aber zur Zeit
nicht an meine alten Sourcen ran und weiß auch nicht,
nach welchem Stichwort ich suchen soll. :(

Ich erzeuge einen neuen Datensatz einer mySQL-Datenbank
(zum Beispiel einen neuen Kunden), der eine automatische
ID zugewiesen bekommt: `ID` INT NOT NULL AUTO_INCREMENT

Wie heißt nochmal die Funktion (SQL-Methode??) mit der ich,
die gerade eben vergebene ID dieses Kundendatensatzes erhalte
um sie dann weiterzuverwenden?
 

Leroy42

Top Contributor
Irgendwie verstehe ich es nicht: Ich habe

"CREATE TABLE `rKunde` ("
+ "`id` INT NOT NULL AUTO_INCREMENT ,"
+ "`name` TEXT NOT NULL ,"
+ "`strasse` TEXT NOT NULL ,"
+ "`plz` TEXT NOT NULL ,"
+ "`ort` TEXT NOT NULL ,"
+ "`zusatz1` TEXT NOT NULL ,"
+ "`zusatz2` TEXT NOT NULL ,"
+ "`info` TEXT NOT NULL ,"
+ "PRIMARY KEY ( `id` )"
+ ")"

Rufe danach
insert into rKunde (name,strasse,plz,ort,zusatz1,zusatz2,info) values ('Egon','','','','','','')
auf und erhalte umgehend danach mit
select last_insert_id()
den Wert 1460240 :shock:

Obwohl die in der Tabelle gespeicherte ID korrekt von 1 hochzählt

Gebe ich ein
select last_insert_id() from rKunde
erhalte ich 7 mal den Wert 1460241

Bei jeder Abfrage nach last_insert_id() kommt ein um eins höherer Wert! ???:L
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben