본문 바로가기

프로그래밍 언어/MySQL

[MySQL] 중복값 입력 방지: Unique 설정

반응형

중복값 입력 방지: Unique 설정

- 테이블 설정시

- 일부 컬럼은 중복되면 안된다. ex) user_id, photo_id 컬럼

- 중복 방지: 유니크 해야한다. 

- 중복적으로 데이터 적용이 안되게끔, 데이터베이스가 막아줘야한다. 

 

기본적으로 하단의 ‘Index’에서 처리한다. 

- Index에서 새로운 Index Name 설정: 테이블 이름의 첫 글자 + 설정하고자 하는 컬럼명으로 작성 (보통은 이렇게 작성)

ex) like 테이블의 user_id, photo_id 컬럼이 중복되면 안된다.

-> l_user_id_photo_id

- Type에 Unique 설정

- 우측에 적용하려는 컬럼 체크

 

아래는 실행 이미지

先 Index 생성, 后 foreign keyt설정 했을 경우의 화면

 

先 foreign keyt 설정, 后 Index 생성했을 경우의 화면

- foreign key를 먼저 만들면, foreign key개수만큼 index가 생성되어있다.

- 당황하지 말고, 추가로 unique를 만들어 주자 :)

 

유니크 설정했을 때, 같은 값을 입력하면 나오는 에러

13:17:34 insert into follow (follower_id,followee_id) values (3,2)
Error Code: 1062. Duplicate entry '3-2' for key 'follow.follower_id_followee_id'



반응형