MySQL-Einfügung mit automatischem ID-Abruf
Beim Einfügen einer neuen Zeile in eine MySQL-Tabelle ist es oft notwendig, die neu zugewiesene „ID“ abzurufen ' Wert. Das Feld „id“ wird normalerweise automatisch erhöht, um die Eindeutigkeit jeder Zeile sicherzustellen. Es kann jedoch ein Problem darstellen, wenn zwischen dem Einfügen der Zeile und dem Abrufen der „ID“ eine Verzögerung auftritt.
Eine Methode, dieses Problem zu entschärfen, ist die Verwendung der INSERT ... SELECT-Anweisung von MySQL. Mit dieser Anweisung können Sie eine Zeile aus einer SELECT-Abfrage einfügen und so den „id“-Wert in einer einzelnen Transaktion erhalten.
$link = mysqli_connect('127.0.0.1', 'my_user', 'my_pass', 'my_db'); mysqli_query($link, "INSERT INTO mytable SELECT 1, 2, 3, 'blah' FROM DUAL"); $id = mysqli_insert_id($link);
In diesem Beispiel fügt die INSERT ... SELECT-Anweisung eine Zeile in die Mytable ein mit den angegebenen Daten, während die Funktion mysqli_insert_id() den 'id'-Wert der neu eingefügten Zeile abruft.
Ein anderer Ansatz ist die Verwendung von MySQL Funktion LAST_INSERT_ID(). Diese Funktion gibt den „id“-Wert der zuletzt eingefügten Zeile für die aktuelle Verbindung zurück. Es ist jedoch wichtig zu beachten, dass der LAST_INSERT_ID()-Wert verbindungsspezifisch ist. Daher ist es wichtig, ihn innerhalb derselben Verbindung zu verwenden, die den INSERT-Vorgang ausgeführt hat.
Das obige ist der detaillierte Inhalt vonWie rufe ich automatisch generierte IDs nach MySQL-Einfügungen ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!