ID aus AUTO INCREMENT Spalte auslesen

tequito

Mitglied
Hallo,

ich habe eine MySQL-Tabelle wo ich die IDs der Datensätze speichere. Die ID wird per AUTO INCREMENT selbstständig gefüllt.

Da ich nach dem INSERT gerne auf eine Seite mit der neuen ID umleiten würde frage ich mich, wie das geht? Die ID ist ja das einzige was unique ist!?
 
Via SELECT LAST_INSERT_ID(); kannst du auf die zuletzt eingefügte ID (zuletzt gesetzter Primärschlüssel) in der aktuellen Sitzung zugreifen, das heißt, dass diese Funktion nur dann sinnvoll ist, wenn du sie in der gleichen Verbindung aufrufst, in der du auch das Query zum Einfügen des Records gesendet hast. Des Weiteren sollte die Abfrage direkt nach der Operation erfolgen.

Mittels SELECT MAX( `id` ) FROM `table` kannst du (relativ ineffizient im Vergleich zu LAST_INSERT_ID) hingegen zu jeder Zeit die höchste ID abfragen. Da es jedoch auch vorkommen könnte, dass man einen Datensatz an einer vorherigen Stelle einfügt, ist diese Variante nicht fehlersicher.

Einige Implementierungen an Datenbankkonnektoren bringen auch eine Hilfsfunktion mit sich. Für die Standardausführung mysql_ heißt die Funktion zB [phpf]mysql_insert_id[/phpf].
 
Zurück