最新的Web开发教程
 

SQL唯一约束


SQL唯一约束

UNIQUE约束唯一标识数据库表中的每个记录。

UNIQUE和PRIMARY KEY约束既提供了独特的列或列集的保证。

主键约束自动上定义的唯一约束。

请注意,您可以为每个表中的多个UNIQUE约束,但是每个表只能有一个主键约束。


SQL唯一约束CREATE TABLE

下面的SQL创建的UNIQUE约束"P_Id"栏时, "Persons"是创建的表:

SQL Server / Oracle / MS Access:

CREATE TABLE Persons
(
P_Id int NOT NULL UNIQUE,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

MySQL:

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)
)

为了让UNIQUE约束的命名,并为多个列定义UNIQUE约束,可以使用下面的SQL语法:

MySQL / SQL Server / Oracle / MS Access:

CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)
)

SQL唯一约束ALTER TABLE

要在创建一个唯一约束"P_Id"时,已创建的表列,请使用以下SQL:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD UNIQUE (P_Id)

为了让UNIQUE约束的命名,并为多个列定义UNIQUE约束,可以使用下面的SQL语法:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)

要删除唯一约束

要删除UNIQUE约束,使用下面的SQL:

MySQL:

ALTER TABLE Persons
DROP INDEX uc_PersonID

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT uc_PersonID