Ett unikt index i MySQL behöver inte finnas på en enda kolumn. Du kan lägga till ett UNIKT index på flera kolumner helt enkelt genom att ange fler kolumner i din ALTER TABLE..ADD UNIQUE uttalande:
ALTER TABLE myTable ADD UNIQUE (
mykey,
myfoo
);
Nu kan du använda en vanlig INSERT INTO...ON DUPLICATE KEY uttalande.
SQLFiddle DEMO (observera att de flera upprepade värdena inte läggs till – alla andra är )
Obs :
Om någon av dem är NULL, kommer den inte att göra det räknas som unika. mykey är "bar" och myfoo att vara NULL kan läggas till i oändlighet även om de har "samma" värden (NULL är egentligen inte ett värde).