永发信息网

怎样在SQLSERVER设置双主键或多个主键

答案:4  悬赏:30  手机版
解决时间 2021-03-23 16:07
  • 提问者网友:沉默菋噵
  • 2021-03-23 01:40
为什么我用sqlserver建了一个表将几个字段一起设为主键后就无法为它们单独添加外键?
我现在有一个学生表(学号),课程表(课程号),选课表(学号,课程号)
在选课表里学号,课程号是主键 要怎么给他们单独加外键关系?一个一个加会出错 一起加只能加一个表。。。
最佳答案
  • 五星知识达人网友:老鼠爱大米
  • 2019-09-13 02:38
首先一个表是不能有两个主键的。但是可以有两个字段组合成一个主键,这就是为什么有时候表里为什么会有两个字段都有主键的标志,那是因为他们组合成了一个主键了。我们可以先删除了原来的主键再用类似下面SQL语句建立:
alter table 你的表名 add constraint pk_name primary key (字段1,字段2);
或者在表设计器里面按住ctrl选中要设置主键的两列再设置主键就OK了.
全部回答
  • 1楼网友:妄饮晩冬酒
  • 2019-12-16 02:02
选课表 最好新建一个自己的主键,学号,课程号 作为外键
  • 2楼网友:夜风逐马
  • 2020-03-15 13:25
其实很简单的,举个例子说明如何设置两个主键 --创建学生表 create table 学生表 ( 学号 int not null primary key (学号), 姓名 nvarchar(20) not null, 性别 bit, 出生日期 int not null, 系编码 int not null ) --创建课程表 create table 课程表 ( 课程号 int not null primary key (课程号), 课程名 nvarchar(100) not null, 选修课号 int, 学分 decimal(2,1) ) --创建选课表 create table 选课表 ( 学号 int not null, 课程号 int not null, 成绩 decimal(3,1) primary key(学号,课程号) --将学号、课程号设为主键 )
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯