O comando SET FOREIGN_KEY_CHECKS = 0
desativa temporariamente a verificação de integridade referencial no MySQL permitindo que as operações de inserção, atualização e exclusão sejam executadas mesmo que as chaves estrangeiras estejam violadas.
O possível problema de desativar a verificação de integridade referencial é que as operações de manipulação de dados (INSERT, UPDATE, DELETE) podem comprometer a consistência dos dados no banco de dados, resultando em relações inconsistentes entre as tabelas e dados corrompidos.
Além disso, quando a verificação é ativada novamente, os erros podem ser dificeis de identificar ou corrigir. É recomendável utilizar esse comando somente em situações especificas em que a integridade possa ser garantida futuramente.
Nesse seu caso, você deletou informações da tabela notas_fiscais, porém não deletou da tabela itens_notas_fiscais_ibfk_2, ao executar o comando SET FOREIGN_KEY_CHECKS = 1
, você vai se deparar com o mesmo erro, e terá que incluir os registros na tabela notas_fiscais novamente, ou excluir os registros dos itens.