一般数据表最多只能设置一个主键,但是可以设置复合主键,复合主键就是将两个以上的字段组合成主键,使之具有记录唯一性的特性。
如何确实需要组合主键,说明数据表的设计存在问题,但是数据库仍然允许用户这样操作。
方法1:建表时创建复合主键
Create Table myTable (
A Int Not
Null,
B
nvarchar(13) Not Null Primary Key (A, B), //表示将字段A和B组合成复合主键
C Int Not
Null,
D Int Not
Null)
方法2:建表后创建复合主键
CREATE Table myTable (
A Int Not
Null,
B
nvarchar(13) Not Null
C Int Not
Null,
D Int Not
Null)
GO
ALTER TABLE 表名 WITH NOCHECK ADD
CONSTRAINT [PK_myTable] PRIMARY KEY NONCLUSTERED
([A],[B]) //表示将字段A和B组合成复合主键
GO
如何确实需要组合主键,说明数据表的设计存在问题,但是数据库仍然允许用户这样操作。
方法1:建表时创建复合主键
Create Table myTable (
方法2:建表后创建复合主键
CREATE Table myTable (
GO
ALTER TABLE 表名 WITH NOCHECK ADD
CONSTRAINT [PK_myTable] PRIMARY KEY
GO
