UNIQUE 限制唯一辨別資料庫表中的每條記錄。UNIQUE 和 PRIMARY KEY 限制均為列或列集合提供了唯一性的保證。PRIMARY KEY 限制擁有自動定義的 UNIQUE 限制。
請注意,每個表可以有多個 UNIQUE 限制,但是每個表隻能有且隻有一個 PRIMARY KEY 限制。
(1) CREATE TABLE 時的 SQL UNIQUE 限制
下面的 SQL 在 "Persons" 表建立時在 "P_Id" 列上建立 UNIQUE 限制:
MySQL:
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)
)
SQL Server / Oracle:
P_Id int NOT NULL UNIQUE,
City varchar(255)
如需命名 UNIQUE 限制,并定義多個列的 UNIQUE 限制,請使用下面的 SQL 文法(MySQL / SQL Server / Oracle):
CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)
(2) ALTER TABLE 時的 SQL UNIQUE 限制
當表已被建立時,如需在 "P_Id" 列建立 UNIQUE 限制,請使用下面的 SQL:
ALTER TABLE Persons
ADD UNIQUE (P_Id)
如需命名 UNIQUE 限制,并定義多個列的 UNIQUE 限制,請使用下面的 SQL 文法:
MySQL / SQL Server / Oracle:
ADD CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)
(3) 撤銷 UNIQUE 限制
如需撤銷 UNIQUE 限制,請使用下面的 SQL:
DROP INDEX uc_PersonID
DROP CONSTRAINT uc_PersonID
資料來源:
SQL 限制(Constraints)
https://www.runoob.com/sql/sql-constraints.htmlSQL UNIQUE 限制
https://www.runoob.com/sql/sql-unique.html