在SQL Server中,每个表只能有一个主键。但是,你可以使用多个列来创建一个复合主键,这样可以满足多个列的唯一性要求。
以下是在SQL Server中设置复合主键的步骤:
1. 创建表时,定义多个列作为主键。
CREATE TABLE 表名 (列1 数据类型,
列2 数据类型,
列3 数据类型,
PRIMARY KEY (列1, 列2) )
2. 如果表已经存在,你可以使用ALTER TABLE
语句来添加主键。
ALTER TABLE 表名 ADD PRIMARY KEY (列1, 列2)
注意:在设置复合主键时,需要确保组成主键的列的值是唯一且非空的。
另外,还可以使用唯一约束来模拟多个主键的效果。唯一约束可以确保列的值是唯一的,但不会自动创建聚集索引。
CREATE TABLE 表名 (列1 数据类型,
列2 数据类型,
列3 数据类型,
CONSTRAINT 约束名 UNIQUE (列1, 列2) )
或者,你可以使用ALTER TABLE
语句添加唯一约束。
ALTER TABLE 表名 ADD CONSTRAINT 约束名 UNIQUE (列1, 列2)
这样,你就可以在多个列上实现唯一性约束,相当于设置了多个主键。