Strategi untuk mencegah rekod pendua di MySQL
Menambah data ke jadual MySQL tanpa membuat pendua adalah penting untuk integriti data. MySQL menawarkan beberapa pendekatan untuk memastikan ini.
pernyataan INSERT IGNORE
adalah cara yang mudah untuk mengelakkan penyertaan pendua. Sekiranya rekod dengan kunci utama atau indeks unik yang sama sudah ada, penyisipan hanya dilangkau. INSERT IGNORE
<code class="language-sql">INSERT IGNORE INTO my_table (col1, col2, col3) VALUES ('val1', 'val2', 'val3');</code>
INSERT ... ON DUPLICATE KEY UPDATE
Contoh:
<code class="language-sql">INSERT INTO my_table (col1, col2, col3) VALUES ('val1', 'val2', 'val3') ON DUPLICATE KEY UPDATE col3 = VALUES(col3);</code>
dikemas kini. Anda boleh menggunakan col3
untuk mengabaikan penyisipan sepenuhnya, atau melakukan kemas kini lain seperti yang diperlukan. SKIP
memanfaatkan kekangan unik
Menentukan kekangan yang unik pada lajur jadual anda adalah kaedah proaktif. MySQL akan menghalang penyisipan penduasebelum mereka berlaku, menguatkuasakan integriti data di peringkat pangkalan data. Ingatlah, menambah kekangan yang unik selepas data sudah hadir tidak akan secara automatik menghapuskan pendua yang sedia ada; ia hanya akan menghalang masa depan.
Implikasi prestasi
Umumnya mengatasi INSERT IGNORE
disebabkan oleh pengurangan overhead dalam memeriksa pendua. Walau bagaimanapun, yang terakhir menawarkan fleksibiliti yang lebih besar dalam mengendalikan situasi utama pendua. Pilih kaedah yang paling sesuai dengan keperluan dan keperluan prestasi anda. INSERT ... ON DUPLICATE KEY UPDATE
Atas ialah kandungan terperinci Bagaimana untuk Mengelakkan Rekod Pendua Apabila Memasukkan Data ke dalam Jadual MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!