SQL UNIQUE 約束
SQL UNIQUE 約束
The UNIQUE
constraint ensures that all values in a column are different. (UNIQUE 約束確保列中的所有值都不同。)
Both the UNIQUE
and PRIMARY KEY
constraints provide a guarantee for uniqueness for a column or set of columns. (UNIQUE 和 PRIMARY KEY 約束都為列或一組列的唯一性提供了保證。)
A PRIMARY KEY
constraint automatically has a UNIQUE
constraint. (PRIMARY KEY 約束自動具有 UNIQUE 約束。)
However, you can have many UNIQUE
constraints per table, but only one PRIMARY KEY
constraint per table. (但是,每個表可以有多個 UNIQUE 約束,但只能有一個 PRIMARY KEY 約束。)
SQL UNIQUE Constraint on CREATE TABLE (建立表時新增 SQL UNIQUE 約束)
The following SQL creates a UNIQUE
constraint on the "ID" column when the "Persons" table is created (以下 SQL 在建立 "Persons" 表時,在 "ID" 列上建立 UNIQUE 約束)
SQL Server / Oracle / MS Access
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)
);
To name a UNIQUE
constraint, and to define a UNIQUE
constraint on multiple columns, use the following SQL syntax (要命名 UNIQUE 約束,並在多個列上定義 UNIQUE 約束,請使用以下 SQL 語法)
MySQL / SQL Server / Oracle / MS Access
CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
CONSTRAINT UC_Person UNIQUE (ID,LastName)
);
SQL UNIQUE Constraint on ALTER TABLE (ALTER TABLE 時新增 SQL UNIQUE 約束)
To create a UNIQUE
constraint on the "ID" column when the table is already created, use the following SQL (要在表已建立後,在 "ID" 列上建立 UNIQUE 約束,請使用以下 SQL)
MySQL / SQL Server / Oracle / MS Access
ALTER TABLE Persons
ADD UNIQUE (ID);
To name a UNIQUE
constraint, and to define a UNIQUE
constraint on multiple columns, use the following SQL syntax (要命名 UNIQUE 約束,並在多個列上定義 UNIQUE 約束,請使用以下 SQL 語法)
MySQL / SQL Server / Oracle / MS Access
ALTER TABLE Persons
ADD CONSTRAINT UC_Person UNIQUE (ID,LastName);
DROP a UNIQUE Constraint (刪除 UNIQUE 約束)
To drop a UNIQUE
constraint, use the following SQL (要刪除 UNIQUE 約束,請使用以下 SQL)
MySQL
ALTER TABLE Persons
DROP INDEX UC_Person;
SQL Server / Oracle / MS Access
ALTER TABLE Persons
DROP CONSTRAINT UC_Person;