Como desabilitar uma FOREIGN KEY em MySQL
Neste artigo você vai aprender a como desabilitar uma FOREIGN KEY em MySQL, de modo temporário ou para sempre!

Fala programador(a), beleza? Bora aprender mais sobre configurações, FOREIGN KEY e também SQL!
Podemos desabilitar temporariamente ou para um tempo indeterminado as chaves estrangeiras
Formação Claude Code
Domine Claude Code do absoluto zero até o avançado
- 120 aulas
- 4 projetos
- 9h 45min
Há um comando que se chama SET, que serve para alterar algumas configurações
Vamos utilizar o SET em conjunto de FOREIGN_KEY_CHECKS, uma propriedade de chaves estrangeiras
Alterando este valor para 0, desabilitados as FKs
Veja um código como exemplo:
SET FOREIGN_KEY_CHECKS=0;
Agora as chaves estrangeiras estão desabilitadas
Para voltar elas ao normal, utilize o seguinte comando:
SET FOREIGN_KEY_CHECKS=1;
Alterando para 1 teremos novamente as checagens de FKs, ou seja, o sistema volta como a forma padrão
Podemos então alternar o valor de 0 para 1 quando precisarmos!
Conclusão
Neste artigo você aprendeu a como desabilitar uma FOREIGN KEY em MySQL, de modo permanente ou temporário
Utilizamos o operador SET em conjunto de FOREIGN_KEY_CHECKS
Alterando o valor entre 0 e 1, sendo 0 desabilitado e 1 para habilitar novamente
Confira nossos cursos gratuitos no Youtube, com vídeos todos os dias!
Se inscreva e ative o sininho para receber as notificações e aprender mais ainda sobre desenvolvimento web!
Veja também nosso catálogo de cursos na Udemy, todos com exercícios e projetos práticos, nas mais diversas tecnologias
O link acima contém um cupom de desconto para os cursos!
Formações
Formação Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 27min
Blog | Mais populares
Como limpar uma tabela SQL? [comando delete]
Como limpar uma tabela SQL? As empresas modernas acumulam uma quantidade enorme de dados em seus sistemas e bancos. Para manter esses dados organizados e […]
Chave primária e chave estrangeira: o que é, quais as diferenças?
O que é chave primária e chave estrangeira banco de dados? Chave primária e chave estrangeira são conceitos fundamentais em bancos de dados relacionais. A […]
O que é dump de banco de dados?
O que é dump de banco de dados? Dump de banco de dados é uma cópia das informações de um banco de dados armazenada em […]

Qual o Risco de fazer isso em um banco em produção. Pergunto pois estou tentando criar uma fk para uma tabela e coluna já existente, mas dá erro de restrição: [Content] Erro SQL (1452): Cannot add or update a child row: a foreign key constraint fails (nome_banco.#sql-734_1d2, CONSTRAINT fk_adiantamentos_lancamento_caixa_estorno FOREIGN KEY (lancamento_caixa_estorno_id) REFERENCES lancamento_caixa (lancamento_caixa_id) O) Mas quando eu uso: SET foreign_key_checks = 0; ALTER TABLE adiantamentos ADD INDEX fk_adiantamentos_lancamento_caixa_estorno (lancamento_caixa_estorno_id); ALTER TABLE adiantamentos ADD CONSTRAINT fk_adiantamentos_lancamento_caixa_estorno FOREIGN KEY (lancamento_caixa_estorno_id) REFERENCES lancamento_caixa(lancamento_caixa_id) ON UPDATE CASCADE ON DELETE RESTRICT; SET foreign_key_checks = 1; Consigo criar a Fk. Meu receio é fazer… Read more »