Vous créez une clé composite (ou composée) en rendant ceci principal :
("COURSE_ID", "ACCREDITATION_BODY_ID", "DATE_OBTAINED")
et ensuite, vous essayez de faire ACCREDITATION_BODY_ID
une clé étrangère, faisant référence à la même colonne sur la même table. Je ne sais pas ce que vous essayez d'accomplir, mais de toute façon, ce n'est pas la bonne façon de le faire.
À mon avis, La raison est : ACCREDITATION_BODY_ID
doit être une clé primaire pour être référencée comme clé étrangère, mais ce n'est pas le cas ici. La contrainte de votre table est une clé composée , et vous devez référencer tous les colonnes de l'instruction de clé étrangère. (corrigez-moi si je me trompe)
Essayez de référencer toutes les colonnes de clé composée dans l'instruction de clé étrangère. Cela peut résoudre votre problème.
Soit dit en passant, référencer une clé primaire en tant que clé étrangère dans la même table n'avait aucun sens pour moi (peut-être qu'il me manque quelque chose mais quand même ..). J'envisagerais de changer le design.