Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mendapatkan ID Auto-Dijana Selepas Sisipan Pukal dalam MySQL?

Bagaimana untuk Mendapatkan ID Auto-Dijana Selepas Sisipan Pukal dalam MySQL?

Linda Hamilton
Lepaskan: 2024-12-06 20:24:15
asal
424 orang telah melayarinya

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

Sisip Pukal dengan ID Dikembalikan dalam MySQL

Memasukkan berbilang baris ke dalam jadual MySQL ialah tugas biasa. Walau bagaimanapun, jika anda perlu mendapatkan semula ID yang baru dijana selepas sisipan pukal, fungsi LAST_INSERT_ID() standard tidak akan mencukupi.

InnoDB Solution

Jika jadual anda menggunakan enjin storan InnoDB (tetapan yang disyorkan untuk kebanyakan beban kerja), MySQL menyediakan penyelesaian menggunakan LAST_INSERT_ID() dan ROW_COUNT() fungsi. Begini cara ia berfungsi:

Dalam InnoDB, sisipan pukal menggunakan AUTO INCREMENT menjamin nombor berjujukan apabila innodb_autoinc_lock_mode ditetapkan kepada 0 (tradisional) atau 1 (berturut-turut). Ini bermakna anda boleh mendapatkan semula ID pertama menggunakan LAST_INSERT_ID() dan ID terakhir dengan menambahkan ROW_COUNT() - 1.

Contohnya:

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;
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan ID Auto-Dijana Selepas Sisipan Pukal dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan