【发布时间】:2017-04-22 06:04:41
【问题描述】:
我想知道 SQL Server 中唯一键和复合主键有什么区别。
根据w3c学校:
UNIQUE 约束唯一标识数据库表中的每条记录。
UNIQUE 和 PRIMARY KEY 约束都为一列或一组列提供唯一性保证。
PRIMARY KEY 约束自动定义了一个 UNIQUE 约束。
请注意,每个表可以有许多 UNIQUE 约束,但每个表只能有一个 PRIMARY KEY 约束。
我们可以使用这个来创建复合主键:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
UNIQUE (P_Id)
)
对于复合主键语法:
CREATE TABLE Persons
(
P_Id int,
C_Id int,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
Primary Key (P_Id,C_Id)
);
【问题讨论】:
-
NULL 的呢?
标签: sql sql-server primary-key unique-constraint