Il problema è dovuto al fatto che la chiave esterna, subj_code
, fa parte di una multicolonna chiave primaria (PK) nella tabella di riferimento enrolment
:
primary key (stud_id, subj_code, semester, year)
dove questa colonna (subj_code
) è non quello più a sinistra .
Tabella student
non ha questo problema perché la sua colonna della chiave esterna stud_id
è la colonna più a sinistra della PK nella tabella di riferimento.
Per risolvere questo problema puoi creare un nuovo indice per la colonna referenziata:
ALTER TABLE enrolment ADD INDEX subj_code_idx (subj_code);
Nota: Devi fare lo stesso per la tabella di riferimento grade
nell'altra chiave esterna.