SQL UNIQUE Constraint

SQL UNIQUE Constraint

Ang UNIQUE na pagkakabansang ay nagbibigay ng tanging pagkakilala ng bawat isang talaan sa database na talahanayan.

Ang UNIQUE at PRIMARY KEY na pagkakabansang ay nagbibigay ng pananagutan sa kasalukuyan ng kolumna o koleksiyon ng kolumna.

Ang PRIMARY KEY ay may automatic na pagkakabansang UNIQUE.

Pansin na bawat talahanayan ay maaaring magkaroon ng maraming UNIQUE na pagkakabansang, ngunit bawat talahanayan ay puwedeng magkaroon lamang ng isang PRIMARY KEY na pagkakabansang.

UNIQUE na pagkakabansang sa CREATE TABLE ng SQL

Ang SQL na ito ay gumagawa ng UNIQUE na pagkakabansang sa "Id_P" na kolumna sa panahon ng paglikha ng "Persons" na talahanayan:

MySQL:

CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
UNIQUE (Id_P)
)

SQL Server / Oracle / MS Access:

CREATE TABLE Persons
(
Id_P int NOT NULL UNIQUE,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

如果需要命名 UNIQUE 约束,以及为多个列定义 UNIQUE 约束,请使用下面的 SQL 语法:

MySQL / SQL Server / Oracle / MS Access:

CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)
)

SQL UNIQUE Constraint on ALTER TABLE

当表已被创建时,如需在 "Id_P" 列创建 UNIQUE 约束,请使用下列 SQL:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD UNIQUE (Id_P)

如需命名 UNIQUE 约束,并定义多个列的 UNIQUE 约束,请使用下面的 SQL 语法:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)

撤销 UNIQUE 约束

如需撤销 UNIQUE 约束,请使用下面的 SQL:

MySQL:

ALTER TABLE Persons
DROP INDEX uc_PersonID

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT uc_PersonID