Um índice exclusivo no MySQL não precisa estar em uma única coluna. Você pode adicionar um índice UNIQUE em várias colunas simplesmente especificando mais colunas em seu
ALTER TABLE..ADD UNIQUE
demonstração:ALTER TABLE myTable ADD UNIQUE (
mykey,
myfoo
);
Agora você pode usar um
INSERT INTO...ON DUPLICATE KEY
normal demonstração. SQLFiddle DEMO (observe que os vários valores repetidos não são adicionados - todos os outros são )
Observação :
Se um deles for NULL, não ser contado como único.
mykey
sendo 'bar' e myfoo
sendo NULL pode ser adicionado ao infinito mesmo que tenham os "mesmos" valores (NULL não é realmente um valor).