复合键是否允许重复

ram*_*nan 1 mysql sql constraints composite-key

我需要知道复合键是否允许其中存在重复值?

例如:

我有 2 张桌子。

1)表“学生”,其中包含字段studentID(PK),标准,地址。

2) 表“Class”,其中包含字段 classID(PK)、classname、studentID(FK)。

通过将复合键设置为(classID,studentID),它是否允许重复值?

我想知道的是,是否有可能在类表的classID字段中输入重复的值?因为我无法在 classID 中输入重复的值,因为它是主键字段。

复合键能帮助我实现这一目标吗?请在这方面帮助我。

C.C*_*gne 5

在复合键中,整个元素集必须是唯一的,但每个元素可以重复多次。

因此,

  • 如果你有多条记录StudentstudentID= 1, 2, 3...
  • 和同样的Class

-> 然后你的第三个表有复合键

(1, 1)
(2, 2)
(1, 2)
...
Run Code Online (Sandbox Code Playgroud)

您可以看到多个记录具有相同的 StudentId(此处为 1)或 classId(此处为 2),但整个组合绝不会重复两次。