1
resposta

Foreign Key Checks = 0 ?

Não entendi a funcionalidade desse comando. Para que serve? E por que nos exercícios ele pede para se lembrar de utilizá-lo? E por que nos exemplos anteriores foi adicionado valores na tabela sem a execução deste comando?

1 resposta

Oi Gabriel, tudo bem?

O comando SET FOREIGN_KEY_CHECKS = 0 "desliga" as chaves estrangeiras da tabelas, o ideal é que o estado "deligado" seja temporário para fazer alguma alteração nos registros do banco de dados, por exemplo inserção em ordem diferente da relação pai/filho ou update em apenas uma tabela cuja a restrição é violada. Após as alterações é recomendado "ativar" as chaves estrangeiras já que elas estabelecem as relações entre as tabelas.

Esse assunto também foi tema desse e desse tópico se quiser também dar uma olhada, fique à vontade.

Lembrando que ela deve funcionar como um interruptor, uma vez ativada, só será desativada quando o comando SET FOREIGN_KEY_CHECKS = 1 for executado.

Espero te ajudado =)