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.