3730: Cannot drop table referenced by a foreign key constraint (suppression impossible d'une table référencée par une clé étrangère)
MySQLQue 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.
Autres entrées pour ce moteur
- 1093You can't specify target table 'x' for update in FROM clause (table cible de la mise à jour interdite dans la clause FROM)
- 1305PROCEDURE does not exist (la procédure n'existe pas)
- 1227Access denied; you need (at least one of) the PRIVILEGE (accès refusé ; privilège requis)
- 2013Lost connection to MySQL server during query (connexion au serveur MySQL perdue pendant la requête)
- 1153Got a packet bigger than 'max_allowed_packet' bytes (paquet plus grand que max_allowed_packet)
- 1969MariaDB: Query execution was interrupted (max_statement_time exceeded) (exécution de la requête interrompue)
- 1927MariaDB: ER_CONNECTION_KILLED: Connection was killed (la connexion a été tuée)