我可以在一个表中拥有多个主键吗?我可以在一个表中拥有多个主键吗?
3 回答
慕的地8271018
TA贡献1796条经验 获得超4个赞
表可以有一个复合主键,它是由两列或更多列组成的主键。例如:
CREATE TABLE userdata ( userid INT, userdataid INT, info char(200), primary key (userid, userdataid));
更新: 这是一个链接,其中包含复合主键的更详细说明。
摇曳的蔷薇
TA贡献1793条经验 获得超6个赞
一个表可以有多个候选键。每个候选键都是一列或一组列,这些列是UNIQUE,一起使用,也是NOT NULL。因此,为任何候选键的所有列指定值足以确定有一行符合条件,或者根本没有行。
候选键是关系数据模型中的基本概念。
如果一个表中存在多个密钥,则通常的做法是将一个候选密钥指定为主密钥。通常的做法是使表的任何外键引用主键,而不是任何其他候选键。
我推荐这些实践,但关系模型中没有任何内容需要在候选键中选择主键。
添加回答
举报
0/150
提交
取消