Problem wynika z faktu, że klucz obcy subj_code
, jest częścią wielu kolumn klucz podstawowy (PK) w odnośnej tabeli enrolment
:
primary key (stud_id, subj_code, semester, year)
gdzie ta kolumna (subj_code
) jest nie skrajnym lewym .
Tabela student
nie ma tego problemu, ponieważ jego kolumna klucza obcego stud_id
jest skrajną lewą kolumną PK we wskazanej tabeli.
Aby rozwiązać ten problem, możesz utworzyć nowy indeks dla wskazanej kolumny:
ALTER TABLE enrolment ADD INDEX subj_code_idx (subj_code);
Uwaga: Musisz zrobić to samo dla tabeli odniesienia grade
w drugim kluczu obcym.