Maak een samengestelde unieke index. Dit zal een willekeurig aantal duplicaten in de individuele velden toestaan, maar de combinatie moet uniek zijn.
CREATE UNIQUE INDEX ix_uq ON test (field1, field2, field3);
...en gebruik INSERT IGNORE
in te voegen als de unieke index niet wordt geschonden. Als dat zo is, negeer dan gewoon de invoeging.
INSERT IGNORE INTO test (field1,field2,field3) VALUES (1,1,1);
Als je wilt invoegen tenzij er een duplicaat is, en bijwerken als dat zo is, kun je ook INSERT INTO ... ON DUPLICATE KEY UPDATE
gebruiken;
INSERT INTO test (field1, field2, field3) VALUES (1,1,1)
ON DUPLICATE KEY UPDATE field4=field4+1;