我需要知道 Composite 键是否允许其中有重复值?
例如:
我有 2 个表。
1) 表 'Student' 包含字段 studentID(PK),standard,address。
2) 包含字段 classID(PK)、classname、studentID(FK) 的表“Class”。
通过将组合键设置为 (classID,studentID),是否允许重复值??
我想知道的是,是否可以在Class Table的classID字段中输入重复值?因为我不能在 classID 中输入重复值,因为它是一个主键字段。
复合键能帮助我实现这一目标吗?请帮助我。
最佳答案
在复合键中,整个元素集必须是唯一的,但每个元素可以重复多次。
因此,
- 如果您在
Student
中有几条记录studentID
= 1, 2, 3... - 对于
Class
也是如此
-> 然后你的第三个表有复合键
(1, 1)
(2, 2)
(1, 2)
...
您可以看到多个记录具有相同的 studentId(此处为 1)或 classId(此处为 2),但整个组合绝不会相同。
关于mysql - 复合键是否允许重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18334762/