MySQL UNIQUE 约束
MySQL UNIQUE 约束
UNIQUE 约束确保列中的所有值都是不同的。
UNIQUE 和 PRIMARY KEY 约束均为列或列组合提供了唯一性保证。
PRIMARY KEY 约束自动具有 UNIQUE 约束。
但是,每个表可以有多个 UNIQUE 约束,但每个表只能有一个 PRIMARY KEY 约束。
在 CREATE TABLE 上使用 UNIQUE 约束
以下 SQL 在创建“Persons”表时,对“ID”列创建 UNIQUE 约束:
CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
UNIQUE (ID)
);
要命名 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 约束,请使用以下 SQL 语法:
ALTER TABLE Persons ADD CONSTRAINT UC_Person UNIQUE (ID,LastName);
删除 UNIQUE 约束
要删除 UNIQUE 约束,请使用以下 SQL:
ALTER TABLE Persons DROP INDEX UC_Person;