DBAtlas · Atlas d'exploitation des bases de données

3730: Cannot drop table referenced by a foreign key constraint (suppression impossible d'une table référencée par une clé étrangère)

MySQL

Que signifie cette erreur ?

La table ne peut pas être supprimée, car la clé étrangère d'une autre table la référence. Tant que la référence existe, DROP est bloqué.

Cause

Tentative de suppression d'une table parente alors que des tables enfants qui lui sont liées par une FK existent encore ; non-respect de l'ordre des dépendances ; clés étrangères non supprimées au préalable.

Comment la corriger

Supprimez d'abord la clé étrangère qui référence la table : ALTER TABLE child_table DROP FOREIGN KEY fk_name; puis supprimez la table. Trouvez les tables/contraintes dépendantes : SELECT * FROM information_schema.KEY_COLUMN_USAGE WHERE REFERENCED_TABLE_NAME = 'my_table'; Dans les opérations en masse, SET FOREIGN_KEY_CHECKS = 0; peut être utilisé temporairement, mais soyez prudent et remettez-le à 1 ensuite.

Ouvrir dans DBAtlas →

Autres entrées pour ce moteur