Je reçois ce message d'erreur :
ERREUR 1217 (23000) à la ligne 40 : Impossible de supprimer ou mettre à jour une ligne parent : une contrainte de clé étrangère échoue
... lorsque j'essaie de déposer une table :
DROP TABLE IF EXISTS `area`;
... défini comme ceci :
CREATE TABLE `area` (
`area_id` char(3) COLLATE utf8_spanish_ci NOT NULL,
`nombre_area` varchar(30) COLLATE utf8_spanish_ci NOT NULL,
`descripcion_area` varchar(100) COLLATE utf8_spanish_ci NOT NULL,
PRIMARY KEY (`area_id`),
UNIQUE KEY `nombre_area_UNIQUE` (`nombre_area`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci;
Le plus drôle, c'est que J'ai déjà abandonné toutes les autres tables dans le schéma qui ont des clés étrangères contre area
. En fait, la base de données est vide, sauf pour le area
table.
Comment peut-il avoir des lignes enfant s'il n'y a pas d'autre objet dans la base de données ? Pour autant que je sache, InnoDB n'autorise pas les clés étrangères sur d'autres schémas, n'est-ce pas ?
(Je peux même exécuter un RENAME TABLE area TO something_else
commande :- ?)