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

Não é possível descartar a tabela:uma restrição de chave estrangeira falha


Isso deve fazer o truque:
SET FOREIGN_KEY_CHECKS=0; DROP TABLE bericht; SET FOREIGN_KEY_CHECKS=1;

Como outros apontam, isso quase nunca é o que você quer, mesmo que seja o que é perguntado na pergunta. Uma solução mais segura é excluir as tabelas dependendo do bericht antes de excluir bericht . Veja a resposta do CloudyMarble sobre como fazer isso. Eu uso o bash e o método no meu post para descartar todas as tabelas em um banco de dados quando não quero ou não posso excluir e recriar o próprio banco de dados.

O #1217 O erro acontece quando outras tabelas têm restrições de chave estrangeira para a tabela que você está tentando excluir e você está usando o mecanismo de banco de dados InnoDB. Esta solução desativa temporariamente a verificação das restrições e, em seguida, as reativa. Leia a documentação para mais. Certifique-se de excluir restrições de chave estrangeira e campos nas tabelas dependendo do bericht , caso contrário, você pode deixar seu banco de dados em um estado quebrado.