Le problème est dû au fait que la clé étrangère, subj_code
, fait partie d'une multi-colonne clé primaire (PK) dans la table référencée enrolment
:
primary key (stud_id, subj_code, semester, year)
où cette colonne (subj_code
) n'est pas le plus à gauche .
Tableau student
n'a pas ce problème car sa colonne de clé étrangère stud_id
est la colonne la plus à gauche du PK dans le tableau référencé.
Pour résoudre ce problème, vous pouvez créer un nouvel index pour la colonne référencée :
ALTER TABLE enrolment ADD INDEX subj_code_idx (subj_code);
Remarque : Il faut faire de même pour la table référencée grade
dans l'autre clé étrangère.