Masalahnya adalah karena fakta bahwa kunci asing, subj_code
, adalah bagian dari multi-kolom kunci utama (PK) dalam tabel referensi enrolment
:
primary key (stud_id, subj_code, semester, year)
di mana kolom ini (subj_code
) adalah bukan yang paling kiri .
Tabel student
tidak memiliki masalah ini karena kolom kunci asingnya stud_id
adalah kolom paling kiri dari PK dalam tabel yang direferensikan.
Untuk mengatasi ini, Anda dapat membuat indeks baru untuk kolom yang dirujuk:
ALTER TABLE enrolment ADD INDEX subj_code_idx (subj_code);
Catatan: Anda harus melakukan hal yang sama untuk tabel referensi grade
di kunci asing lainnya.