Skip to content

9. UNIQUE


1. UNIQUE Constraint

  • UNIQUE 제약 조건은 열의 모든 값이 서로 다른지 확인한다.
  • UNIQUEPRIMARY KEY 제약 조건은 모두 열 또는 열 집합에 대한 고유성을 보장한다.
  • PRIMARY KEY 제약 조건은 자동으로 UNIQUE 제약 조건을 포함한다.
  • 테이블당 많은 UNIQUE 제약 조건을 가질 수 있지만, 테이블당 하나의 PRIMARY KEY 제약 조건만 가질 수 있다.


2. UNIQUE Constraint on CREATE TABLE

  • 다음은 Persons 테이블이 생성될 때 ID 열에 대한 UNIQUE 제약 조건을 생성한다.


1) SQL Server / Oracle / Ms Access

CREATE TABLE Persons (
    ID int NOT NULL UNIQUE,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255)
    Age int
);


2) MySQL

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)
);


3. UNIQUE Constraint on ALTER TABLE

  • 테이블이 이미 생성된 경우 ID 열에 대한 UNIQUE 제약 조건을 생성하려면 다음 SQL 문을 사용한다.


ALTER TABLE Persons
ADD UNIQUE (ID);


  • UNIQUE 제약 조건의 이름을 지정하고, 여러 열에 대한 UNIQUE 제약 조건을 정의하려면 다음 SQL 문을 사용한다.


ALTER TABLE Persons
ADD CONSTRAINT UC_Person UNIQUE (ID, LastName);


4. DROP a UNIQUE Constraint

  • UNIQUE 제약 조건을 삭제하려면 다음 SQL 문을 사용한다.


1) MySQL

ALTER TABLE Persons
DROP INDEX UC_Person;


2) SQL Server / Oracle / MS Access

ALTER TABLE Persons
DROP CONSTRAINT UC_Person;

References