Heim > Datenbank > MySQL-Tutorial > Wie rufe ich automatisch generierte IDs nach einer Masseneinfügung in MySQL ab?

Wie rufe ich automatisch generierte IDs nach einer Masseneinfügung in MySQL ab?

Linda Hamilton
Freigeben: 2024-12-06 20:24:15
Original
425 Leute haben es durchsucht

How to Retrieve Auto-Generated IDs After a Bulk Insert in MySQL?

Masseneinfügung mit zurückgegebenen IDs in MySQL

Das Einfügen mehrerer Zeilen in eine MySQL-Tabelle ist eine häufige Aufgabe. Wenn Sie jedoch die neu generierten IDs nach der Masseneinfügung abrufen müssen, reicht die Standardfunktion LAST_INSERT_ID() nicht aus.

InnoDB-Lösung

Wenn Ihre Tabelle verwendet die InnoDB-Speicher-Engine (eine empfohlene Einstellung für die meisten Workloads), MySQL bietet eine Lösung mit den Funktionen LAST_INSERT_ID() und ROW_COUNT(). So funktioniert es:

In InnoDB garantieren Masseneinfügungen mit AUTO INCREMENT fortlaufende Nummern, wenn innodb_autoinc_lock_mode auf 0 (traditionell) oder 1 (konsekutiv) gesetzt ist. Das bedeutet, dass Sie die erste ID mit LAST_INSERT_ID() und die letzte ID durch Hinzufügen von ROW_COUNT() - 1 abrufen können.

Zum Beispiel:

INSERT INTO example_table (name) VALUES ('John'), ('Mary'), ('Bob');

-- Get first ID
SELECT LAST_INSERT_ID() AS first_id;

-- Get row count
SELECT ROW_COUNT() AS row_count;

-- Get last ID
SELECT LAST_INSERT_ID() + ROW_COUNT() - 1 AS last_id;
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie rufe ich automatisch generierte IDs nach einer Masseneinfügung in MySQL ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage