SQL UNIQUE 约束

SQL UNIQUE 约束

UNIQUE 约束确保列中的所有值都是唯一的。

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