Problém je způsoben tím, že cizí klíč subj_code
, je součástí více sloupců primární klíč (PK) v odkazované tabulce enrolment
:
primary key (stud_id, subj_code, semester, year)
kde tento sloupec (subj_code
) není úplně vlevo .
Tabulka student
nemá tento problém, protože jeho sloupec cizího klíče stud_id
je sloupec zcela vlevo PK v odkazované tabulce.
Chcete-li tento problém vyřešit, můžete vytvořit nový index pro odkazovaný sloupec:
ALTER TABLE enrolment ADD INDEX subj_code_idx (subj_code);
Poznámka: Totéž musíte udělat pro odkazovanou tabulku grade
v druhém cizím klíči.