Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

atualize se houver dois campos, insira se não (MySQL)


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).