Memelihara Salinan Tunggal: Memadam Baris Pendua Tidak Sama
Mengekalkan integriti data selalunya melibatkan pengalihan keluar rekod berlebihan daripada pangkalan data. Walau bagaimanapun, dalam senario tertentu, satu salinan bagi setiap kumpulan baris pendua mungkin perlu disimpan. Artikel ini menangani cabaran untuk memadamkan semua kecuali satu baris daripada set pendua dalam PostgreSQL.
Penyelesaian: Pemadaman Terpilih Menggunakan Pengecam Unik
Pertanyaan yang disediakan dalam penyelesaian menggunakan konsep pengelompokan dan memilih nilai minimum (atau maksimum) medan pengecam unik dalam setiap kumpulan pendua. Dengan mengecualikan baris dengan pengecam minimum (atau maksimum) itu daripada proses pemadaman, satu salinan bagi setiap baris unik boleh disimpan.
Pertanyaan berikut menunjukkan pendekatan ini:
DELETE FROM foo WHERE id NOT IN (SELECT min(id) FROM foo GROUP BY hash);
Dalam pertanyaan ini, medan cincang mewakili ciri unik atau gabungan ciri yang mentakrifkan set pendua. Dengan memilih nilai id minimum daripada setiap kumpulan, pertanyaan mengenal pasti baris yang akan dikekalkan dan mengecualikan baris pendua yang tinggal daripada pemadaman.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Padamkan Baris Pendua dalam PostgreSQL Semasa Memelihara Salinan Tunggal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!