Erreur 1452 mysql Intégrité référentielle

beegees Messages postés 102 Statut Membre -  
 babou54 -
Bonjour tout le monde,

J'ai une table qui est nommé "cours" dont voici la structure :

ID int(11) Non
MNEMONIC varchar(255) Non
NOM_ANNEE varchar(255) Non
NOM_COURS varchar(255) Non
ECTS int(11) Non
PONDERATION float Non
TYPE_DE_COURS varchar(255) Non
Cloture tinyint(1) Non 0
Cloture_le date Oui NULL
Categorie varchar(25) Non

Index:
Nom de l'index Type Cardinalité Champ
PRIMARY PRIMARY 85 ID
NOM_ANNEE INDEX 8 NOM_ANNEE

J'ai une autre tabe nommée "cao_choisis" dont voici la structure :

Champ Type Null Défaut Commentaires
MATRICULE_ET varchar(10) Non
ID_Cours int(11) Non

Index:
Nom de l'index Type Cardinalité Champ
[B]PRIMARY PRIMARY 0 MATRICULE_ET
ID_Cours/B
MATRICULE_ET INDEX 0 MATRICULE_ET
ID_Cours INDEX 0 ID_Cours

Je voudrais que ID_Cours de la table cao soit une clé étrangère de la table cours.

Cela me permettrait d'effacer et de mettre à jour en cascade.

Si je supprime un cours dans la table "cours", cela supprime les ID correspondant dans la table cao_choisis.

J'ai essayé avec mysql mais j'obtiens ce message d'erreur :

Erreur

requête SQL:

ALTER TABLE `cours` ADD FOREIGN KEY ( `ID` ) REFERENCES `pharma`.`cao_choisis` (
`ID_Cours`
) ON DELETE CASCADE ON UPDATE CASCADE ;

MySQL a répondu:Documentation
#1452 - Cannot add or update a child row: a foreign key constraint fails (`pharma/#sql-1054_4ea`, CONSTRAINT `#sql-1054_4ea_ibfk_1` FOREIGN KEY (`ID`) REFERENCES `cao_choisis` (`ID_Cours`) ON DELETE CASCADE ON UPDATE CASCADE)
Documentation
Erreur
requête SQL:
ALTER TABLE `cours` ADD FOREIGN KEY ( `ID` ) REFERENCES `pharma`.`cao_choisis` (
`ID_Cours`
) ON DELETE CASCADE ON UPDATE CASCADE ;/QUOTE

Sauriez-vous m'aider svp à résoudre ce problème ?

Je vous en remercie d'avance.

beegeezzz

1 réponse

babou54
 
tu supprimes les tables dans le bon ordre ?
Je veux dire quand tu supprime une table, est tu sur que dedans il n'y a pas de champs qui soit clé étrangère ailleur ?
0