SQL UNIQUE 约束
SQL UNIQUE 约束
The UNIQUE
constraint ensures that all values in a column are different. (UNIQUE 约束确保列中的所有值都不同。)
Both the UNIQUE
and PRIMARY KEY
constraints provide a guarantee for uniqueness for a column or set of columns. (UNIQUE 和 PRIMARY KEY 约束都为列或一组列的唯一性提供了保证。)
A PRIMARY KEY
constraint automatically has a UNIQUE
constraint. (PRIMARY KEY 约束自动具有 UNIQUE 约束。)
However, you can have many UNIQUE
constraints per table, but only one PRIMARY KEY
constraint per table. (但是,每个表可以有多个 UNIQUE 约束,但只能有一个 PRIMARY KEY 约束。)
SQL UNIQUE Constraint on CREATE TABLE (创建表时添加 SQL UNIQUE 约束)
The following SQL creates a UNIQUE
constraint on the "ID" column when the "Persons" table is created (以下 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)
);
To name a UNIQUE
constraint, and to define a UNIQUE
constraint on multiple columns, use the following SQL syntax (要命名 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 Constraint on ALTER TABLE (ALTER TABLE 时添加 SQL UNIQUE 约束)
To create a UNIQUE
constraint on the "ID" column when the table is already created, use the following SQL (要在表已创建后,在 "ID" 列上创建 UNIQUE 约束,请使用以下 SQL)
MySQL / SQL Server / Oracle / MS Access
ALTER TABLE Persons
ADD UNIQUE (ID);
To name a UNIQUE
constraint, and to define a UNIQUE
constraint on multiple columns, use the following SQL syntax (要命名 UNIQUE 约束,并在多个列上定义 UNIQUE 约束,请使用以下 SQL 语法)
MySQL / SQL Server / Oracle / MS Access
ALTER TABLE Persons
ADD CONSTRAINT UC_Person UNIQUE (ID,LastName);
DROP a UNIQUE Constraint (删除 UNIQUE 约束)
To drop a UNIQUE
constraint, use the following SQL (要删除 UNIQUE 约束,请使用以下 SQL)
MySQL
ALTER TABLE Persons
DROP INDEX UC_Person;
SQL Server / Oracle / MS Access
ALTER TABLE Persons
DROP CONSTRAINT UC_Person;