Anda dapat menggunakan INSERT... IGNORE sintaks jika Anda tidak ingin mengambil tindakan saat ada rekaman duplikat.
Anda dapat menggunakan GANTI KE sintaks jika Anda ingin menimpa catatan lama dengan yang baru dengan kunci yang sama.
Atau, Anda dapat menggunakan INSERT... ON DUPLICATE PEMBARUAN KUNCI sintaks jika Anda ingin melakukan pembaruan pada catatan sebagai gantinya ketika Anda menemukan duplikat.
Sunting:Saya pikir saya akan menambahkan beberapa contoh.
Contoh
Katakanlah Anda memiliki tabel bernama tbl
dengan dua kolom, id
dan value
. Ada satu entri, id=1 dan value=1. Jika Anda menjalankan pernyataan berikut:
REPLACE INTO tbl VALUES(1,50);
Anda masih memiliki satu catatan, dengan id=1 nilai=50. Perhatikan bahwa seluruh catatan telah DIHAPUS terlebih dahulu, dan kemudian dimasukkan kembali. Kemudian:
INSERT IGNORE INTO tbl VALUES (1,10);
Operasi berhasil dijalankan, tetapi tidak ada yang dimasukkan. Anda masih memiliki id=1 dan nilai=50. Akhirnya:
INSERT INTO tbl VALUES (1,200) ON DUPLICATE KEY UPDATE value=200;
Anda sekarang memiliki satu record dengan id=1 dan value=200.