SQL UNIQUE 约束
SQL UNIQUE 约束
UNIQUE约束确保列中的所有值都不同。
UNIQUE和PRIMARY KEY约束都为一列或一组列的唯一性提供了保证。
PRIMARY KEY约束自动具有UNIQUE约束。
每个表可以有许多UNIQUE约束,但每个表只有一个PRIMARY KEY约束。
CREATE TABLE上的SQL UNIQUE约束
创建“Persons”表时,以下SQL在“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)
);
ALTER TABLE上的SQL UNIQUE约束
要在已创建表时在“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);
DROP UNIQUE的约束
要删除UNIQUE约束,请使用以下SQL:
MySQL的:
ALTER TABLE Persons
DROP INDEX UC_Person;
SQL Server / Oracle / MS Access:
ALTER TABLE Persons
DROP CONSTRAINT UC_Person;