Mengelakkan Entri Pendua dalam MySQL dengan phpMyAdmin
Memasukkan data ke dalam jadual harus diurus dengan teliti untuk mengelakkan pendua, yang boleh menjejaskan integriti data. Dalam MySQL, mencapai ini adalah penting, terutamanya dengan set data yang besar. Satu pendekatan untuk mengelakkan pendua adalah melalui penggunaan indeks unik.
Mencipta Indeks Unik
Sebelum melaksanakan langkah pengelakan, adalah penting untuk mewujudkan indeks unik di atas meja . Ini memastikan gabungan lajur tertentu (dalam kes ini, pageId dan nama) tidak boleh diulang. Untuk melakukan ini, laksanakan pertanyaan berikut:
ALTER TABLE thetable ADD UNIQUE INDEX(pageid, name);
Mengendalikan Senario Pendua
Dengan indeks unik disediakan, langkah seterusnya ialah memutuskan cara mengendalikan pendua entri. Berikut ialah tiga pilihan biasa:
INSERT IGNORE INTO thetable (pageid, name) VALUES (1, "foo"), (1, "foo");
Kaedah ini membuang mana-mana baris pendua dan meneruskan dengan memasukkan hanya yang unik .
INSERT INTO thetable (pageid, name, somefield) VALUES (1, "foo", "first") ON DUPLICATE KEY UPDATE (somefield = 'first'); INSERT INTO thetable (pageid, name, somefield) VALUES (1, "foo", "second") ON DUPLICATE KEY UPDATE (somefield = 'second');
Menggunakan ON DUPLICATE KEY UPDATE, baris pendua dikemas kini dengan nilai yang disediakan. Ambil perhatian bahawa nilai sesuatu medan akan sama ada 'pertama' atau 'kedua' berdasarkan susunan sisipan.
INSERT INTO thetable (pageid, name) VALUES (1, "foo"), (1, "foo") ON DUPLICATE KEY UPDATE (pagecount = pagecount + 1);
Kaedah ini mengekalkan kiraan kejadian untuk setiap pageId unik dan gabungan nama. Dengan setiap entri pendua, medan pengiraan halaman ditambah.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencegah Entri Pendua dalam MySQL Menggunakan Indeks Unik dan Kaedah Pengendalian Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!