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).