Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mendapatkan ID Auto-Tambahan Secara Cekap Selepas Sisipan Pukal dalam MySQL?
Mendapatkan Auto-Tambahan ID daripada Sisipan Pukal dalam MySQL
Salah satu tugas biasa dalam pengurusan pangkalan data ialah memasukkan berbilang baris ke dalam jadual dan mendapatkan semula ID autokenaikan yang dijana untuk setiap baris. Semasa mendapatkan ID yang terakhir dimasukkan adalah mudah menggunakan fungsi LAST_INSERT_ID(), sisipan pukal menimbulkan cabaran dalam mendapatkan tatasusunan semua ID yang dijana.
Kaedah Tradisional: Memasukkan Melalui Jadual Sementara
Sebelum ini, teknik biasa melibatkan memasukkan ID baharu ke dalam jadual sementara dan menggunakan subquery untuk mendapatkannya. Walau bagaimanapun, pendekatan ini memerlukan langkah tambahan dan memperkenalkan overhed prestasi.
Menggunakan LAST_INSERT_ID() dan ROW_COUNT() dengan InnoDB
Versi terbaru MySQL, terutamanya yang menggunakan InnoDB enjin storan, sediakan kaedah alternatif untuk mendapatkan ID sisipan pukal. Kaedah ini memanfaatkan fungsi LAST_INSERT_ID() bersama-sama dengan ROW_COUNT() untuk mengekstrak julat nilai kenaikan automatik yang diberikan.
Prosedur:
Contoh:
INSERT INTO `my_table` (`name`, `email`) VALUES ('John Doe', 'john.doe@example.com'), ('Jane Doe', 'jane.doe@example.com'), ('Peter Jones', 'peter.jones@example.com'); SET @first_id = LAST_INSERT_ID(); SET @last_id = @first_id + ROW_COUNT() - 1; SELECT * FROM `my_table` WHERE `id` BETWEEN @first_id AND @last_id;
Faedah:
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan ID Auto-Tambahan Secara Cekap Selepas Sisipan Pukal dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!