SQL UNIQUE 约束
SQL UNIQUE 约束
该 UNIQUE
约束确保列中的所有值都不同。
该 UNIQUE
和 PRIMARY KEY
约束都为列或列集提供唯一性的保证。
该 PRIMARY KEY
约束会自动包含一个 UNIQUE
约束。
但是,每个表可以有多个 UNIQUE
约束,但每个表只能有一个 PRIMARY KEY
约束。
SQL UNIQUE 约束在 CREATE TABLE 上
以下 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
约束,请使用以下 SQL 语法。
MySQL / SQL Server / Oracle / MS Access
CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
CONSTRAINT UC_Person UNIQUE (ID,LastName)
);
SQL UNIQUE 约束在 ALTER TABLE 上
要为已创建的表上的 "ID" 列创建一个 UNIQUE
约束,请使用以下 SQL。
MySQL / SQL Server / Oracle / MS Access
ALTER TABLE Persons
ADD UNIQUE (ID);
要命名一个 UNIQUE
约束,并为多列定义一个 UNIQUE
约束,请使用以下 SQL 语法。
MySQL / SQL Server / Oracle / MS Access
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;