UNIQUE 제약 조건
UNIQUE 제약 조건은 열의 모든 값이 서로 다른지 확인한다.
UNIQUE 및 PRIMARY KEY 제약 조건은 모두 열 또는 열 집합에 대한 고유성을 보장한다.
PRIMARY KEY 제약 조건에는 자동으로 UNIQUE 제약 조건이 있다.
그러나 테이블당 여러 UNIQUE 제약 조건이 있을 수 있지만 테이블당 하나의 PRIMARY KEY 제약 조건만 있을 수 있다.
예시
CREATE TABLE에 대한 SQL UNIQUE 제약 조건
“Persons” 테이블이 생성될 때 “ID” 열에 대한 UNIQUE 제약 조건을 생성한다.
SQL 서버/오라클/MS 액세스
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) );
UNIQUE 제약 조건의 이름을 지정하고 여러 열에 UNIQUE 제약 조건을 정의하려면 다음 SQL 구문을 사용한다.
MySQL/SQL 서버/오라클/MS 액세스
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에 대한 SQL UNIQUE 제약 조건
테이블이 이미 생성된 경우 “ID” 열에 대한 UNIQUE 제약 조건을 생성하려면 다음 SQL을 사용한다.
MySQL/SQL 서버/오라클/MS 액세스
ALTER TABLE Persons ADD UNIQUE (ID);
UNIQUE 제약 조건의 이름을 지정하고 여러 열에 대한 UNIQUE 제약 조건을 정의 하려면 다음 SQL 구문을 사용한다.
MySQL/SQL 서버/오라클/MS 액세스
ALTER TABLE Persons ADD CONSTRAINT UC_Person UNIQUE (ID,LastName);
고유 제약 조건 삭제
UNIQUE 제약 조건을 삭제하려면 다음 SQL을 사용한다.
MySQL
ALTER TABLE Persons DROP INDEX UC_Person;
SQL 서버/오라클/MS 액세스
ALTER TABLE Persons DROP CONSTRAINT UC_Person;
참고
W3C School - SQL UNIQUE Constraint
W3C School - SQL Tutorial