コンポジット(またはコンパウンド)キー を作成しています これをプライマリにすることによって:
("COURSE_ID", "ACCREDITATION_BODY_ID", "DATE_OBTAINED")
次に、ACCREDITATION_BODY_ID
を作成しようとします 同じテーブルの同じ列を参照する外部キー。何を達成しようとしているのかわかりませんが、とにかく、そうではありません それを行う正しい方法。
私の意見では、理由は次のとおりです: ACCREDITATION_BODY_ID
外部キーとして参照されるためには主キーである必要がありますが、ここではそうではありません。テーブルの制約は複合キーです 、およびすべてを参照する必要があります 外部キーステートメントの列。 (間違っている場合は修正してください)
外部キーステートメントのすべての複合キー列を参照してみてください。それはあなたの問題を解決するかもしれません。
ちなみに、同じテーブルで主キーを外部キーとして参照しても、私には意味がありませんでした(何かが足りないかもしれませんが、それでも..)。デザインを変更することを検討したいと思います。