SQL UNIQUE 约束
SQL UNIQUE 约束
UNIQUE 约束确保列中的所有值都是唯一的。
UNIQUE 和 PRIMARY KEY 约束都为列或列集合的唯一性提供了保证。但是,每个表可以有多个 UNIQUE 约束,但每个表只能有一个 PRIMARY KEY 约束。
CREATE TABLE 上的 UNIQUE 约束
以下 SQL 语句在创建 Persons 表时为 ID 列定义了 UNIQUE 约束:
SQL Server / Oracle / MS Access:
CREATE TABLE Persons (
ID int NOT NULL UNIQUE,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int
);
MySQL:
CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
UNIQUE (ID)
);
为 UNIQUE 约束命名
要为 UNIQUE 约束命名,并在多个列上定义 UNIQUE 约束,请使用以下 SQL 语法:
CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
CONSTRAINT UC_Person UNIQUE (ID,LastName)
);
ALTER TABLE 上的 UNIQUE 约束
当表已创建后,要在 ID 列上创建 UNIQUE 约束,请使用以下 SQL 语法:
ALTER TABLE Persons ADD UNIQUE (ID);
为 UNIQUE 约束命名
要为 UNIQUE 约束命名,并在多个列上定义 UNIQUE 约束,请使用以下 SQL 语法:
ALTER TABLE Persons ADD CONSTRAINT UC_Person UNIQUE (ID,LastName);
删除 UNIQUE 约束
要删除 UNIQUE 约束,请使用以下 SQL:
MySQL:
ALTER TABLE Persons DROP INDEX UC_Person;
SQL Server / Oracle / MS Access:
ALTER TABLE Persons DROP CONSTRAINT UC_Person;