Buat indeks unik komposit. Ini akan memungkinkan sejumlah duplikat di masing-masing bidang, tetapi kombinasinya harus unik.
CREATE UNIQUE INDEX ix_uq ON test (field1, field2, field3);
...dan gunakan INSERT IGNORE
untuk menyisipkan jika indeks unik tidak dilanggar. Jika ya, abaikan saja sisipannya.
INSERT IGNORE INTO test (field1,field2,field3) VALUES (1,1,1);
Sebuah SQLfiddle untuk pengujian .
Jika Anda ingin menyisipkan kecuali ada duplikat, dan memperbarui jika ada, Anda juga dapat menggunakan INSERT INTO ... ON DUPLICATE KEY UPDATE
;
INSERT INTO test (field1, field2, field3) VALUES (1,1,1)
ON DUPLICATE KEY UPDATE field4=field4+1;