MySQL UNIQUE 約束
MySQL UNIQUE 約束
UNIQUE
約束確保列中的所有值都不同。
UNIQUE
和 PRIMARY KEY
約束都保證了列或列集的唯一性。
PRIMARY KEY
約束自動擁有 UNIQUE
約束。
但是,每個表可以有多個 UNIQUE
約束,但每個表只能有一個 PRIMARY KEY
約束。
CREATE TABLE 上的 UNIQUE 約束
以下 SQL 在建立 "Persons" 表時,在 "ID" 列上建立了一個 UNIQUE
約束
CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
UNIQUE (ID)
);
要命名 UNIQUE
約束,以及在多個列上定義 UNIQUE
約束,請使用以下 SQL 語法
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 上的 UNIQUE 約束
在表已建立的情況下,要在 "ID" 列上建立 UNIQUE
約束,請使用以下 SQL
ALTER TABLE Persons
ADD UNIQUE (ID);
要命名 UNIQUE
約束,以及在多個列上定義 UNIQUE
約束,請使用以下 SQL 語法
ALTER TABLE Persons
ADD CONSTRAINT UC_Person UNIQUE (ID,LastName);
DROP a UNIQUE Constraint (刪除 UNIQUE 約束)
要刪除 UNIQUE
約束,請使用以下 SQL
ALTER TABLE Persons
DROP INDEX UC_Person;