我有一个名为Lesson
:
列: [LessonID, LessonNumber, Description]
...加上其他一些列的数据库表
我有另一个表名为Lesson_ScoreBasedSelection
:
列: [LessonID,NextLessonID_1,NextLessonID_2,NextLessonID_3]
完成一堂课后,将在表中查找其 LessonIDLesson_ScoreBasedSelection
以获得三个可能的下一课,每节课都与特定范围的分数相关联。如果分数是 0-33,将使用存储在 NextLessonID_1 中的 LessonID。如果分数是 34-66,将使用存储在 NextLessonID_2 中的 LessonID,依此类推。
我想Lesson_ScoreBasedSelection
用引用课程表中的 LessonID 列的外键来约束表中的所有列,因为表中的每个值都Lesson_ScoreBasedSelection
必须在课程表的 LessonID 列中有一个条目。我还希望打开级联更新,以便如果课程表中的课程 ID 发生更改,则表中对它的所有引用Lesson_ScoreBasedSelection
都会更新。
这个特定的级联更新似乎是一个非常简单的单向更新,但是当我尝试将外键约束应用于Lesson_ScoreBasedSelection
引用课程表中的 LessonID 字段的表中的每个字段时,我收到错误:
在表“”上引入 FOREIGN KEY 约束“c_name”Lesson_ScoreBasedSelection
可能会导致循环或多个级联路径。
谁能解释我为什么会收到此错误或如何实现我描述的约束和级联更新?