Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mendapatkan ID Terakhir yang Disisipkan dalam MySQL Selepas Sisipan Berbilang Jadual?

Bagaimana untuk Mendapatkan ID Terakhir yang Disisipkan dalam MySQL Selepas Sisipan Berbilang Jadual?

Patricia Arquette
Lepaskan: 2024-12-10 14:24:12
asal
893 orang telah melayarinya

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

Mengambil ID Terakhir Dimasukkan dalam MySQL untuk Sisipan Berbilang Jadual

Apabila bekerja dengan berbilang jadual pangkalan data, selalunya perlu mendapatkan semula yang terakhir dimasukkan ID selepas dimasukkan ke dalam beberapa jadual. Satu senario biasa melibatkan mendapatkan semula ID yang disisipkan terakhir daripada jadual pertama, walaupun jika sisipan berikutnya dibuat ke dalam jadual lain.

Pertimbangkan pertanyaan SQL berikut:

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

Secara lalai, LAST_INSERT_ID( ) akan mengembalikan ID yang dimasukkan terakhir untuk sisipan jadual terbaharu, dalam kes ini table2. Untuk mendapatkan semula ID yang disisipkan terakhir daripada jadual1, terdapat beberapa kaedah yang tersedia:

Menyimpan ID yang Disisipkan Terakhir dalam Pembolehubah:

Masukkan nilai ke dalam jadual1 dan simpan ID yang terakhir dimasukkan dalam pembolehubah:

SET @last_id_in_table1 = LAST_INSERT_ID();
Salin selepas log masuk

Sisipan seterusnya ke dalam jadual lain tidak akan menjejaskan pembolehubah ini, membolehkan anda merujuk ID terakhir yang dimasukkan ke dalam jadual1 kemudian.

Mendapatkan ID Maksimum:

Pendekatan alternatif ialah mencari ID maksimum daripada jadual1 selepas sisipan telah dibuat:

SELECT MAX(id) FROM table1;
Salin selepas log masuk

Ini akan mengembalikan ID yang terakhir dimasukkan, walaupun jadual lain telah dimasukkan ke dalam Sementara itu.

Nota: Apabila mendapatkan ID maksimum, adalah penting untuk mempertimbangkan kemungkinan keadaan perlumbaan. Jika proses atau sambungan lain memasukkan nilai ke dalam jadual1 secara serentak, ID maksimum yang diambil mungkin tidak menggambarkan nilai yang terakhir dimasukkan dengan tepat.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan ID Terakhir yang Disisipkan dalam MySQL Selepas Sisipan Berbilang Jadual?. 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