UNIQUE 唯一限制 (SQL UNIQUE Constraint)
UNIQUE 用來保證欄位在資料表中的唯一性,約束資料表中的欄位不能有重複的資料。一個資料表可有多個UNIQUE欄位,此外UNIQUE欄位中可以接受NULL值。
SQL UNIQUE Constraint
假設我們要對「customer」資料表限制「C_Id」欄位不能有重複值存在:在建立資料表同時 - CREATE TABLE...
MySQL
CREATE TABLE customer ( C_Id INT NOT NULL, Name VARCHAR(50) NOT NULL, Address VARCHAR(255), Phone VARCHAR(20), UNIQUE (C_Id) );
MySQL / SQL Server / Oracle / MS Access
CREATE TABLE customer ( C_Id INT NOT NULL UNIQUE, Name VARCHAR(50) NOT NULL, Address VARCHAR(255), Phone VARCHAR(20) );
替唯一鍵命名與多欄位的唯一限制
MySQL / SQL Server / Oracle / MS Access
CREATE TABLE customer ( C_Id INT NOT NULL, Name VARCHAR(50) NOT NULL, Address VARCHAR(255), Phone VARCHAR(20), CONSTRAINT u_Customer_Id UNIQUE (C_Id, Name) );
我們限制C_Id及Name這兩個欄位共同唯一,CONSTRAINT後面接著的即是此唯一鍵的名稱。
更改資料表限制 - ALTER TABLE...
MySQL / SQL Server / Oracle / MS Access
ALTER TABLE customer ADD UNIQUE (C_Id);
替唯一鍵命名與多欄位的唯一限制
MySQL / SQL Server / Oracle / MS Access
ALTER TABLE customer ADD CONSTRAINT u_Customer_Id UNIQUE (C_Id, Name);
移除資料表限制 - ALTER TABLE...
MySQL
ALTER TABLE customer DROP INDEX u_Customer_Id;
SQL Server / Oracle / MS Access
ALTER TABLE customer DROP CONSTRAINT u_Customer_Id;