
为什么SQL里的一个表有两个主键
不是规定说一个关系(表)里面只能有一个主键吗?为什么类似于“成绩表”这样的关系里,可以有两个主键,类似“课程号,学号”?顺便说一下,课程号和学号同时也是外键...
不是规定说一个关系(表)里面只能有一个主键吗?
为什么类似于“成绩表”这样的关系里,可以有两个主键,类似“课程号,学号”?
顺便说一下,课程号和学号 同时也是外键 展开
为什么类似于“成绩表”这样的关系里,可以有两个主键,类似“课程号,学号”?
顺便说一下,课程号和学号 同时也是外键 展开
6个回答
2018-07-27 · 知道合伙人软件行家
关注

展开全部
一个数据库表只能有一个主键,不允许两个主键。但是允许两个字段联合起来设置为主键,这叫联合主键。
创建主键的方式如下:
ALTER TABLE 选课表
ADD CONSTRAINT pk_选课表 PRIMARY KEY(学号);
创建联合主键的方式如下:
ALTER TABLE 选课表
ADD CONSTRAINT pk_选课表 PRIMARY KEY(学号, 课程编号);
展开全部
应该叫联合主键,不光两个,三个也是可以的
主键用来做唯一标示,那联合主键就是通过几个关键字段来标示唯一记录
主键用来做唯一标示,那联合主键就是通过几个关键字段来标示唯一记录
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一张表只能有一个主键。
如果想要多个字段当主键,需要在建表时使用primary
key(val1,val2)
如果想要多个字段当主键,需要在建表时使用primary
key(val1,val2)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
两个和起来叫做一个主键,这两个是叫主关键字,叫法上有点区别
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
联合主键,两个值都相同两条记录才是相同的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询