![](https://maz.kr/wp-content/uploads/2022/12/sql-unique-thumbnail.png)
UNIQUE
UNIQUE 제약 조건은 열의 모든 값이 고유하도록한다.
CREATE TABLE에 대한 UNIQUE 제약 조건
“Persons” 테이블이 생성될 때 “ID” 열에 UNIQUE 제약 조건을 생성한다.
MySQL
CREATE TABLE Persons ( ID int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Age int, UNIQUE (ID) );
SQL Server / Oracle / MS Access
CREATE TABLE Persons ( ID int NOT NULL UNIQUE, LastName varchar(255) NOT NULL, FirstName varchar(255), Age int );
UNIQUE 제약 조건의 이름을 지정하고 여러 열에 UNIQUE 제약 조건을 정의한다.
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) );
ALTER TABLE의 UNIQUE 제약 조건
테이블이 이미 생성된 경우 “ID” 열에 UNIQUE 제약 조건을 생성한다.
MySQL / SQL Server / Oracle / MS Access
ALTER TABLE Persons ADD UNIQUE (ID);
UNIQUE 제약 조건의 이름을 지정하고 여러 열에 UNIQUE 제약 조건을 정의한다.
MySQL / SQL Server / Oracle / MS Access
ALTER TABLE Persons ADD CONSTRAINT UC_Person UNIQUE (ID,LastName);
UNIQUE 제약 조건 삭제
UNIQUE 제약 조건을 삭제한다.
MySQL
ALTER TABLE Persons DROP INDEX UC_Person;
SQL Server / Oracle / MS Access
ALTER TABLE Persons DROP CONSTRAINT UC_Person;
참고
W3C School - SQL UNIQUE Keywords
W3C School - SQL Tutorial