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

Restrição única, como evitar duplicatas


Aplique a restrição exclusiva criando uma chave exclusiva:
ALTER TABLE the_table
ADD UNIQUE INDEX nid_language_unique (nid, language);

Essa restrição proíbe duas linhas com o mesmo nid e idioma.

Qualquer consulta que tente violar a restrição falhará.

Como você deseja ignorar erros (e ainda abortar a consulta), você pode usar INSERIR IGNORAR e UPDATE IGNORE :
INSERT IGNORE INTO the_table (nid, language) VALUES (8, 'Chinese')
/* row not inserted and no error */