티스토리 뷰
UNIQUE 제약 조건이란?
대상의 컬럼에 중복된 값이 저장될 수 없게 하는 제약조건
컬럼 옆 unique 키워드를 붙인 것과, 여러 컬럼 조합에 UNIQUE 제약 조건을 설정하는 것의 차이를 알아보자.
1. 컬럼 옆 unique 키워드로 제약조건 설정
create table user(
age int,
name varchar(255) unique
);
name 필드에 중복된 값을 insert 해보자. 그러면 아래와 같은 오류가 발생한다.
insert into user(age, name) values(1, 'sky');
insert into user(age, name) values(2, 'sky');

즉, unique 키워드가 붙은 각 컬럼은 중복된 값을 저장할 수 없다.
2. CONSTRAINTS로 여러 컬럼 조합에 UNIQUE 제약 조건 설정
create table user(
age int,
name varchar(255),
constraint u unique(age, name)
);
name 필드에 중복된 값을 insert 해보자.
이 경우 age와 name의 조합이 유일하므로 오류가 발생하지 않는다.
insert into user(age, name) values(1, 'sky');
insert into user(age, name) values(2, 'sky');
즉, 여러 컬럼 조합에 UNIQUE 제약 조건을 설정하는 경우 대상 컬럼들의 조합이 유일해야 한다.
조합이 유일하다면, 각 컬럼에 대해서는 중복된 값이 들어가도 된다.
'Computer Science > Database' 카테고리의 다른 글
[DB] Redis 분산락으로 동시성 이슈를 해결해보자 (0) | 2023.02.16 |
---|---|
[DB] UNIQUE 제약조건으로 동시성 이슈를 해결해보자 (0) | 2023.02.07 |