Heim >Datenbank >MySQL-Tutorial >Wie rufe ich automatisch generierte IDs nach MySQL-Einfügungen ab?

Wie rufe ich automatisch generierte IDs nach MySQL-Einfügungen ab?

Linda Hamilton
Linda HamiltonOriginal
2024-12-09 19:03:14833Durchsuche

How to Retrieve Auto-Generated IDs After MySQL Inserts?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn