在创建表时,可以在特定列或多个列上定义 UNIQUE 约束,以确保这些列中的值在表内唯一。
在 "Persons" 表的 P_Id 列上添加 UNIQUE 约束
CREATE TABLE Persons (
P_Id INT NOT NULL,
LastName VARCHAR(255) NOT NULL,
FirstName VARCHAR(255),
Address VARCHAR(255),
City VARCHAR(255),
UNIQUE (P_Id)
);CREATE TABLE Persons (
P_Id INT NOT NULL UNIQUE,
LastName VARCHAR(255) NOT NULL,
FirstName VARCHAR(255),
Address VARCHAR(255),
City VARCHAR(255)
);如需为 UNIQUE 约束指定名称,并在多个列上应用,可以使用以下语法:
MySQL / SQL Server / Oracle / MS Access:
CREATE TABLE Persons (
P_Id INT NOT NULL,
LastName VARCHAR(255) NOT NULL,
FirstName VARCHAR(255),
Address VARCHAR(255),
City VARCHAR(255),
CONSTRAINT uc_PersonID UNIQUE (P_Id, LastName)
);如果表已存在,可以使用 ALTER TABLE 语句在指定列上添加 UNIQUE 约束。
在 "P_Id" 列上添加 UNIQUE 约束
ALTER TABLE Persons
ADD UNIQUE (P_Id);命名 UNIQUE 约束并在多列上应用
如需命名 UNIQUE 约束,并定义多个列的 UNIQUE 约束,请使用下面的 SQL 语法:
ALTER TABLE Persons
ADD CONSTRAINT uc_PersonID UNIQUE (P_Id, LastName);如果需要移除一个 UNIQUE 约束,可以使用以下 SQL 语句:
ALTER TABLE Persons
DROP INDEX uc_PersonID;ALTER TABLE Persons
DROP CONSTRAINT uc_PersonID;来源:https://www.runoob.com/sql/sql-unique.html