Unikalny indeks w MySQL nie musi znajdować się w pojedynczej kolumnie. Możesz dodać indeks UNIQUE do wielu kolumn, po prostu określając więcej kolumn w ALTER TABLE..ADD UNIQUE
oświadczenie:
ALTER TABLE myTable ADD UNIQUE (
mykey,
myfoo
);
Teraz możesz użyć zwykłego INSERT INTO...ON DUPLICATE KEY
oświadczenie.
Demo SQLFiddle (pamiętaj, że wiele powtarzających się wartości nie jest dodawanych – wszystkie inne są )
Uwaga :
Jeśli któryś z nich jest NULL, nie być liczone jako unikatowe. mykey
będąc „bar” i myfoo
bycie NULL może zostać dodane do nieskończoności, nawet jeśli mają „te same” wartości (NULL nie jest tak naprawdę wartością).