본문 바로가기

TOOL/MySQL

MySQL - Error Code : 1062. Duplicate entry 해결방법

반응형
Erro Code : 1062

 

 

 

Error Code : 1062. Duplicate entry가 나오는 이유에 대해서 알아보자

 

 

데이터를 insert 하려 할 때, 1062 에러 때문에 당황한 적이 한번쯤은 있을 것이다.

 

 

 

 

Error Code : 1062는 테이블 생성시

 

indexes 설정에서 unique 설정이 되어있는 경우에

 

중복된 값을 insert 할 수 없다는 에러이다.

 

이에 대한 대처 방법으로는

 

2가지 경우에 따라 조금씩 다르다.

 

 

 

 

1. 중복된 데이터를 받으면 안되는 테이블이라서 unique 설정이 되어있는 경우

 

이와같은 경우는 create table창에서 UQ에 체크표시가 되어있기 때문인데

 

UQ에 체크표시 상세 설정은 indexes에서 할 수 있다 .

 

 

 

이럴때의 해결방법은

 

추가하려는 데이터의 중복된, 즉, Error를 일으킨 데이터가 무엇인지 확인 후 제거해야 한다.

 

확인은 MySQL Workbench 하단에 x표시와 Error Code가 함께 출력된다.

 

 

 

우측에 Error Code와 함께 어디서 에러가 발생했는지,

 

무엇때문에 에러가 방생했는지 알 수 있다.

 

그에따른 해당 데이터 중 중복된 값을 제거 후 insert 하면 된다.

 

 

 

2. 데이터를 의도하여 중복된 데이터도 저장하는 경우

 

이 경우는 위 1번의 경우보다 더욱 간단하다.

 

Alter Table을 연다.

 

해당 컬럼에 UQ 체크표시를 해제한다.

 

끝.

 

UQ는 unique의 약자로 중복된 데이터를 받아들이지 않겠다는 표시이다.

 

그러므로 중복된 데이터를 모두 insert해야하는 경우는

 

그에 맞춰 UQ를 해제하면 된다.

 

반응형