Un indice univoco in MySQL non deve necessariamente trovarsi su una singola colonna. Puoi aggiungere un indice UNIQUE su più colonne semplicemente specificando più colonne nel tuo ALTER TABLE..ADD UNIQUE
dichiarazione:
ALTER TABLE myTable ADD UNIQUE (
mykey,
myfoo
);
Ora puoi usare un normale INSERT INTO...ON DUPLICATE KEY
dichiarazione.
DEMO SQLFiddle (nota che i valori ripetuti multipli non vengono aggiunti - tutti gli altri lo sono )
Nota :
Se uno dei due è NULL, non essere considerato unico. mykey
essendo 'bar' e myfoo
essere NULL potrebbe essere aggiunto all'infinito anche se hanno gli "stessi" valori (NULL non è proprio un valore).