Уникалният индекс в MySQL не трябва да бъде в една колона. Можете да добавите УНИКАЛЕН индекс към множество колони, просто като посочите още колони във вашия ALTER TABLE..ADD UNIQUE
изявление:
ALTER TABLE myTable ADD UNIQUE (
mykey,
myfoo
);
Сега можете да използвате обикновен INSERT INTO...ON DUPLICATE KEY
изявление.
DEMO SQLFiddle (обърнете внимание, че множеството повтарящи се стойности не се добавят - всички останали са )
Забележка :
Ако някое от тях е NULL, то не да се считат за уникални. mykey
е 'bar' и myfoo
да бъде NULL може да се добави до безкрайност, въпреки че имат "същите" стойности (NULL всъщност не е стойност).