Skapa ett sammansatt unikt index. Detta tillåter valfritt antal dubbletter i de enskilda fälten, men kombinationen måste vara unik.
CREATE UNIQUE INDEX ix_uq ON test (field1, field2, field3);
...och använd INSERT IGNORE
att infoga om det unika indexet inte kränks. Om det är det, ignorera bara infogningen.
INSERT IGNORE INTO test (field1,field2,field3) VALUES (1,1,1);
Om du vill infoga såvida det inte finns en dubblett, och uppdatera om det finns, kan du också använda INSERT INTO ... ON DUPLICATE KEY UPDATE
;
INSERT INTO test (field1, field2, field3) VALUES (1,1,1)
ON DUPLICATE KEY UPDATE field4=field4+1;