目录

SQL UNIQUE 约束


SQL 唯一约束

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

这俩UNIQUEPRIMARY KEY约束为一列或一组列的唯一性提供了保证。

PRIMARY KEY约束自动有一个UNIQUE约束。

然而,你可以有很多UNIQUE每个表的约束,但只有一个PRIMARY KEY每个表的约束。


CREATE TABLE 上的 SQL UNIQUE 约束

以下 SQL 创建一个UNIQUE创建 "Persons" 表时对 "ID" 列的约束:

SQL Server / Oracle / MS 访问:

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 访问:

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 约束

创建一个UNIQUE当表已创建时,对 "ID" 列进行约束,请使用以下 SQL:

MySQL / SQL Server / Oracle / MS 访问:

ALTER TABLE Persons
ADD UNIQUE (ID);

命名一个UNIQUE约束,并定义一个UNIQUE对多列进行约束,使用以下 SQL 语法:

MySQL / SQL Server / Oracle / MS 访问:

ALTER TABLE Persons
ADD CONSTRAINT UC_Person UNIQUE (ID,LastName);

删除唯一的约束

删除一个UNIQUE约束,使用以下 SQL:

MySQL:

ALTER TABLE Persons
DROP INDEX UC_Person;

SQL Server / Oracle / MS 访问:

ALTER TABLE Persons
DROP CONSTRAINT UC_Person;