Sisipan Pukal dengan Pengambilan ID dalam MySQL
Memasukkan berbilang baris ke dalam jadual MySQL dan mendapatkan ID baharu adalah keperluan biasa yang mungkin tidak segera jelas untuk dilaksanakan. Dokumen ini menerangkan cara untuk mencapai ini menggunakan fungsi LAST_INSERT_ID() dan ROW_COUNT() MySQL, terutamanya apabila menggunakan enjin storan InnoDB.
Penjanaan ID Berjujukan InnoDB
Apabila menggunakan enjin storan InnoDB dengan MySQL, sisipan pukal mengekalkan penetapan berurutan AUTO INCREMENT ID, memandangkan innodb_autoinc_lock_mode ditetapkan kepada 0 (tradisional) atau 1 (berturut-turut).
Mendapatkan Susunan ID
Untuk mendapatkan tatasusunan ID selepas sisipan pukal, ikut ini langkah:
Contoh:
-- Insert bulk rows INSERT INTO table_name (column1, column2) VALUES (val1, val2), (val3, val4), (val5, val6); -- Get the first ID SET @first_id = LAST_INSERT_ID(); -- Get the number of rows inserted SET @num_rows = ROW_COUNT(); -- Create an array of IDs SET @ids = ARRAY(); -- Populate the array WHILE (@i < @num_rows) DO SET @ids[@i] = @first_id + @i; SET @i = @i + 1; END WHILE;
Teknik ini dengan cekap menyediakan pelbagai ID yang baru dijana selepas sisipan pukal, membolehkan pemprosesan atau penggunaan selanjutnya dalam logik aplikasi.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan ID Auto-Generasi Selepas Memasukkan Pukal dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!