Mysql
 sql >> Base de données >  >> RDS >> Mysql

Impossible de supprimer la table :une contrainte de clé étrangère échoue

Cela devrait faire l'affaire :

SET FOREIGN_KEY_CHECKS=0; DROP TABLE bericht; SET FOREIGN_KEY_CHECKS=1;

Comme d'autres le soulignent, ce n'est presque jamais ce que vous voulez, même si c'est ce qui est demandé dans la question. Une solution plus sûre consiste à supprimer les tables en fonction de bericht avant de supprimer bericht . Voir la réponse de CloudyMarble pour savoir comment procéder. J'utilise bash et la méthode de mon article pour supprimer toutes les tables d'une base de données lorsque je ne veux pas ou ne peux pas supprimer et recréer la base de données elle-même.

Le #1217 L'erreur se produit lorsque d'autres tables ont des contraintes de clé étrangère sur la table que vous essayez de supprimer et que vous utilisez le moteur de base de données InnoDB. Cette solution désactive temporairement la vérification des contraintes, puis les réactive. Lisez la documentation pour plus. Assurez-vous de supprimer les contraintes de clé étrangère et les champs dans les tables en fonction de bericht , sinon vous pourriez laisser votre base de données dans un état cassé.