Създайте съставен уникален индекс. Това ще позволи произволен брой дубликати в отделните полета, но комбинацията трябва да е уникална.
CREATE UNIQUE INDEX ix_uq ON test (field1, field2, field3);
...и използвайте INSERT IGNORE
за вмъкване, ако уникалният индекс не е нарушен. Ако е така, просто игнорирайте вмъкването.
INSERT IGNORE INTO test (field1,field2,field3) VALUES (1,1,1);
Ако искате да вмъкнете, освен ако няма дубликат, и да актуализирате, ако има, можете също да използвате INSERT INTO ... ON DUPLICATE KEY UPDATE
;
INSERT INTO test (field1, field2, field3) VALUES (1,1,1)
ON DUPLICATE KEY UPDATE field4=field4+1;