Facebook Linkedin Instagram Pinterest

Como desabilitar verificação de chave estrangeira no MySQL temporariamente

Analisamos o banco de dados, criamos o banco com todas as tabelas e regras de relacionamentos. Então, um dia você vê que em uma tabela, um determinado registro tem um valor em uma de suas colunas, que não obedece as regras de relacionamentos (foreignkey constraint) e que na verdade, esta coluna deveria ter valor null. E agora o que fazer? Simplesmente abrir o MySQL Workbench e escrever um UPDATE não funciona, visto que null não é um valor que esteja na tabela relacionada.

Para fazer o UPDATE funcionar, antes é necessário desabilitar o checagem do “foreignkey constraint”. Fito o UPDATE, a checagem deve ser habilitada novamente.

Veja exemplo abaixo.

SET FOREIGN_KEY_CHECKS = 0;
UPDATE tabela SET coluna=null WHERE chave = 'x';
SET FOREIGN_KEY_CHECKS = 1;

Jorge Rodrigues

Webmaster e desenvolvedor web full-stack. Self-employed na Concepção Web. Técnico em processamento de dados, com especialização em Programação de Computadores, Redes Locais e em Protocolo e Cabeamento Estruturada de Redes Locais pela Universidade Estácio de Sá.

More Posts

Olá, antes de continuar, precisamos que você forneça algumas informações de contato.

Desenvolvido por Concepção Web.