MySQL UNIQUE 约束

MySQL UNIQUE 约束

UNIQUE 约束确保列中的所有值都是不同的。

UNIQUEPRIMARY 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;