Bonjour tout le monde,
J'essaie de lier une table nommée "enseigner" qui contient trois champs :
ID
Matricule_Prof
Mnemonic
avec deux tables nommées :
"Professeurs" et qui contient :
Champ Type Null Défaut Commentaires
ID bigint(20) Non
MATRICULE_PROF text Non
NOM_PROF text Non
PRENOM_PROF text Oui NULL
Email_Prof varchar(50) Non
et l'autre table est "cours" qui contient :
Champ Type Null Défaut Commentaires
ID bigint(20) Non
MNEMONIC text Non
NOM_ANNEE text Non
NOM_COURS text Non
ECTS double Non
PONDERATION int(11) Non
CLOTURE tinyint(4) Oui 0
Le code SQL pour les deux clés étrangères est le suivant :
Et MySQL me dit tout simple "Erreur" (voir image attachée)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 ALTER TABLE `enseigner` ADD FOREIGN KEY ( `MATRICULE_PROF` ) REFERENCES `deliberations`.`professeurs` ( `MATRICULE_PROF` ) ON DELETE CASCADE ON UPDATE CASCADE ; ALTER TABLE `enseigner` ADD FOREIGN KEY ( `MNEMONIC` ) REFERENCES `deliberations`.`cours` ( `MNEMONIC` ) ON DELETE CASCADE ON UPDATE CASCADE ;
Toutes mes tables sont innodb.
Il y a déjà des données dans ma table "cours" et "professeurs" est-ce cela le problème ? peut être faut-il que les tables ne contiennent aucune donnée au départ ?
Connaissez-vous l'explication à ce problème ?
Je vous en remercie d'avance.
beegees
Partager