Menyelesaikan Masalah Percanggahan Urutan Kunci Utama PostgreSQL
Pengguna PostgreSQL kadangkala mungkin menghadapi ketidakpadanan antara urutan kunci utama mereka dan data jadual sebenar. Penyahsegerakan ini, yang sering berpunca daripada ralat import data atau pemulihan pangkalan data, boleh mengakibatkan pelanggaran kunci pendua yang mengecewakan apabila memasukkan baris baharu. Panduan ini menyediakan penyelesaian mudah untuk menjajarkan semula jujukan.
Menjajarkan Semula Urutan Kunci Utama
Untuk memulihkan keharmonian antara jujukan dan baris jadual anda, ikut langkah berikut:
Kenal pasti ID Tertinggi: Mulakan dengan menanyakan jadual anda untuk mencari nilai kunci primer sedia ada tertinggi. Gunakan arahan SQL ini:
SELECT MAX(id) FROM your_table;
Periksa Jujukan: Seterusnya, periksa nilai semasa jujukan yang dikaitkan dengan kunci utama anda. Gunakan pernyataan SQL berikut:
SELECT nextval('your_table_id_seq');
Bandingkan Keputusan: Bandingkan ID maksimum dari langkah 1 dengan nilai jujukan dari langkah 2. Jika nilai jujukan tidak lebih besar daripada ID maksimum, teruskan ke langkah seterusnya.
Tetapkan Semula Jujukan: Laksanakan pernyataan SQL ini untuk menetapkan semula jujukan, pastikan ia menggambarkan keadaan semasa data jadual anda dengan tepat:
SELECT setval('your_table_id_seq', (SELECT GREATEST(MAX(your_id), nextval('your_table_id_seq') - 1) FROM your_table));
Dengan melengkapkan langkah-langkah ini, anda menetapkan semula urutan kunci utama dengan berkesan, menyelesaikan percanggahan dan menghalang konflik kunci masa depan dalam pangkalan data PostgreSQL anda.
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Percanggahan Urutan Kunci Utama PostgreSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!