Tom: wie die letzte ID einer mySQL-Tabelle auslesen?

Beitrag lesen

Hello,

Vorher gar nicht,

Das stimmt nicht, auch wenn Du aus üblicher Praxissicht Recht hast...

Man kann den Tabellenstatus der gesamten Datenbank abfragen.
In diesem sind dann auch die Next-Insert-IDs der Tabellen enthalten, die eine Autoincrement-Spalte besitzen.

Wenn Du allerdings willst, dass das beim Insert noch stimmt, müsstest Du die entsprechende Tabelle sperren, dann die Status-Abfrage machen, den Datensatz einfügen und dann die Tabelle wieder entsperren. Das kostet sehr viel Performance.

Darum macht man es i.d.R. umgekehrt. Man lässt den neuen Datensatz eintragen, beschafft dann die dazugehörige Insert-ID und arbeitet damit für die Related Infomation weiter.

http://dev.mysql.com/doc/refman/5.1/en/show-table-status.html
http://dev.mysql.com/doc/refman/5.1/en/lock-tables.html

Harzliche Grüße vom Berg
http://www.annerschbarrich.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau