首先一个表是不能有两个主键的。但是可以有两个字段组合成一个主键,这就是为什么有时候表里为什么会有两个字段都有主键的标志,那是因为他们组合成了一个主键了。我们可以先删除了原来的主键再用类似下面SQL语句建立:
alter table 你的表名 add constraint pk_name primary key (字段1,字段2);
或者在表设计器里面按住ctrl选中要设置主键的两列再设置主键就OK了.
你搞错了,选课表里学号、课程号都是外键,不是主键
选课表
最好新建一个自己的主键,学号,课程号
作为外键
创建复合主键:
方法一:创建表之后,alter table table_name add primary key(字段1,字段2)
方法二:CREATE TABLE 表名 (字段名1 Int Not Null,
字段名2 nvarchar(13) Not Null
字段名3…………
字段名N…………)
GO
ALTER TABLE 表名 WITH NOCHECK ADD
CONSTRAINT [PK_表名] PRIMARY KEY NONCLUSTERED
(
[字段名1],
[字段名2]
)
GO
参考资料:http://kb.cnblogs.com/page/69853/