Un índice único en MySQL no tiene que estar en una sola columna. Puede agregar un índice ÚNICO en varias columnas simplemente especificando más columnas en su ALTER TABLE..ADD UNIQUE
declaración:
ALTER TABLE myTable ADD UNIQUE (
mykey,
myfoo
);
Ahora puede usar un INSERT INTO...ON DUPLICATE KEY
normal. declaración.
DEMOSTRACIÓN DE SQLFiddle (tenga en cuenta que los múltiples valores repetidos no se suman; todos los demás sí )
Nota :
Si cualquiera de los dos es NULL, no ser contado como único. mykey
siendo 'barra' y myfoo
ser NULL podría agregarse al infinito aunque tengan los "mismos" valores (NULL no es realmente un valor).