Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mendapatkan ID Baris Selepas INSERT/KEMASKINI MySQL dengan ON DUPLICATE KEY?
Cara Mendapatkan ID Baris selepas INSERT/UPDATE Menggunakan MySQL ON DUPLICATE KEY
Memasukkan atau mengemas kini data menggunakan ON DUPLICATE KEY klausa dalam MySQL boleh menjadi cara yang mudah untuk mengendalikan ralat kunci pendua. Walau bagaimanapun, ia boleh mencabar untuk mendapatkan ID baris yang terjejas selepas operasi.
Satu andaian biasa ialah fungsi LAST_INSERT_ID() hanya mengembalikan ID baris yang baru dimasukkan. Walau bagaimanapun, dalam senario ON DUPLICATE KEY, ia juga mungkin mengembalikan ID yang dikemas kini jika baris telah diubah suai.
Penyelesaian: LAST_INSERT_ID(expr)
Untuk membuat LAST_INSERT_ID () bermakna untuk kedua-dua sisipan dan kemas kini, MySQL menyediakan yang berikut penyelesaian:
INSERT INTO table (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE>
Dalam contoh ini, lajur id diandaikan sebagai kunci utama AUTO_INCREMENT. Dengan memperuntukkan LAST_INSERT_ID(id) kepada lajur id semasa kemas kini, fungsi mengembalikan ID yang dikemas kini.
Mendapatkan semula ID Sisipan/Kemas Kini Terakhir
Setelah penyelesaian selesai tempat, anda boleh menggunakan fungsi LAST_INSERT_ID() untuk mendapatkan ID baris yang telah disisipkan atau dikemas kini:
Pendekatan ini membolehkan anda mendapatkan semula ID baris yang terjejas oleh operasi INSERT/UPDATE tanpa perlu menjalankan pertanyaan berasingan untuk mengambilnya.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan ID Baris Selepas INSERT/KEMASKINI MySQL dengan ON DUPLICATE KEY?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!