본문 바로가기

데이터베이스/RDBMS

테이블에 unique 설정하는 방법

● unique란?

제약조건 중 하나로 해당 컬럼에 동일한 값이 들어가지 않도록 하게한다.

같은 값이 들어가는 경우 오류를 발생시키면서 값의 입력을 거부하기 때문에 행별로 모두 값이 다르도록 유지시켜 준다.

● 예시)

user 테이블

user 테이블에는 기본키인 id, 문자열 컬럼인 name, email이 있다.

이 테이블은 어떤 서비스의 가입자 테이블이라고 생각하자.

이름은 동명이인이 있기 때문에 같을 수 있지만 email은 가입자 마다 다를 것이다 따라서 동일한 값이 들어가지 않게 email 컬럼에 unique 설정을 해주겠다.

밑에 있는 Indexes 클릭

Index Name에 원하는 이름을 입력하고 Type는 UNIQUE선택 옆에 컬럼을 고르는 부분에서는 unique설정을 할 컬럼을 선택한다.


○ unique 설정 하지 않았을 때,

같은 이메일을 가진 가입자 데이터 모두 테이블에 들어간다

○ unique 설정 했을 때,

데이터가 들어가지 못하고 에러가 뜬다

 

 

 

 

 

 

 

 

 

Error Code: 1062

▷Error Code: 1062.Duplicate entry가 나오는 이유

: 해당 컬럼이 unique하기 때문에 중복되는 값을 넣을 수 없기 때문이다.