Heim >Datenbank >MySQL-Tutorial >Wie rufe ich die zuletzt eingefügte ID in MySQL nach dem Einfügen mehrerer Tabellen ab?

Wie rufe ich die zuletzt eingefügte ID in MySQL nach dem Einfügen mehrerer Tabellen ab?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-10 14:24:12846Durchsuche

How to Retrieve the Last Inserted ID in MySQL After Multi-Table Inserts?

Zuletzt eingefügte ID in MySQL für Multi-Table-Einfügungen abrufen

Bei der Arbeit mit mehreren Datenbanktabellen ist es oft notwendig, die zuletzt eingefügte ID abzurufen ID nach dem Einfügen in mehrere Tabellen. Ein häufiges Szenario besteht darin, die zuletzt eingefügte ID aus der ersten Tabelle abzurufen, auch wenn nachfolgende Einfügungen in andere Tabellen vorgenommen werden.

Betrachten Sie die folgende SQL-Abfrage:

INSERT INTO table1 (title,userid) VALUES ('test',1);
INSERT INTO table2 (parentid,otherid,userid) VALUES (LAST_INSERT_ID(), 4, 1);
SELECT LAST_INSERT_ID();

Standardmäßig ist LAST_INSERT_ID( ) gibt die zuletzt eingefügte ID für die letzte Tabelleneinfügung zurück, in diesem Fall Tabelle2. Um die zuletzt eingefügte ID aus Tabelle1 abzurufen, stehen einige Methoden zur Verfügung:

Speichern der zuletzt eingefügten ID in einer Variablen:

Fügen Sie einen Wert in Tabelle1 ein und speichern Sie ihn die zuletzt eingefügte ID in einer Variablen:

SET @last_id_in_table1 = LAST_INSERT_ID();

Nachfolgende Einfügungen in andere Tabellen haben keine Auswirkungen auf diese Variable, sodass Sie auf die letzte ID verweisen können später in Tabelle1 eingefügt.

Abrufen der maximalen ID:

Ein alternativer Ansatz besteht darin, die maximale ID aus Tabelle1 zu ermitteln, nachdem Einfügungen vorgenommen wurden:

SELECT MAX(id) FROM table1;

Dadurch wird die zuletzt eingefügte ID zurückgegeben, auch wenn andere Tabellen in eingefügt wurden In der Zwischenzeit.

Hinweis: Beim Abrufen der maximalen ID ist es wichtig, mögliche Rennbedingungen zu berücksichtigen. Wenn ein anderer Prozess oder eine andere Verbindung gleichzeitig einen Wert in Tabelle1 einfügt, spiegelt die maximal abgerufene ID möglicherweise nicht genau den zuletzt eingefügten Wert wider.

Das obige ist der detaillierte Inhalt vonWie rufe ich die zuletzt eingefügte ID in MySQL nach dem Einfügen mehrerer Tabellen 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