J'essaie de supprimer toutes les tables d'une base de données sauf une, et je me retrouve avec l'erreur suivante :
Impossible de supprimer ou de mettre à jour une ligne parent : une contrainte de clé étrangère échoue.
Bien sûr, je pourrais faire des essais et des erreurs pour voir quelles sont ces contraintes clés et éventuellement supprimer toutes les tables, mais j'aimerais savoir s'il existe un moyen rapide de forcer la suppression de toutes les tables (car je pourrai réinsérer celles que je ne veux pas supprimer).
Google m'a dirigé vers un site qui proposait la méthode suivante :
mysql> SET foreign_key_checks = 0;
mysql> drop table ...
mysql> SET foreign_key_checks = 1;
La réponse courte est que cela n'a pas vraiment fait l'affaire puisque j'ai fini par recevoir la même erreur alors que j'ai pu supprimer quelques tables supplémentaires. J'ai vu sur Stack Overflow des moyens d'obtenir toutes les clés étrangères liées à une certaine table, mais cela prend beaucoup trop de temps, à moins que je script tout cela (ce qui est faisable dans le cas où il n'y a pas d'autre option).
La base de données est 4.1, je ne peux donc pas utiliser DROP DATABASE
Des idées ?
1 votes
Pourquoi avez-vous choisi la réponse sélectionnée qui ne fournit même pas la solution à votre question ?