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