본문 바로가기
서버/Mysql

Duplicate entry for key 'PRIMARY'

by 코딩히어로 2021. 9. 13.
728x90

Mysql을 사용하면서 격는 가장 흔한 문제 중 Insert나 Update를 하려 하는데 아래와 같은 문구를

 

많이 접하게 됩니다.

 

Duplicate entry '0' for key 'PRIMARY'

 

이건 말 그대로 내가 Insert 나 Update하기 위한 값이 Primary 값이라

 

동일한 값으로 쿼리문을 실행 할 수 없다는 의미입니다.

 

예제1

예를들어 위와같이 테이블이 작성되어 있고 여기에서 이름이 PRIMARY 값으로 설정되어 있다고 가정하면

 

Insert into A테이블 set 이름 values 영심이

 

예제2

이렇게 영심이는 이름 항목에 겹치는 이름이 없기 때문에 문제없이 쿼리문이 잘 실행됩니다.

 

하지만 아래와 같이 실행해도 과연 잘 실행될까?

 

Insert into A테이블 set 이름 values 맹구

 

이렇게 실행하면 다음과 같은 문구를 만날 수 있습니다.

 

Duplicate entry '맹구' for key 'PRIMARY' 

 

왜냐하면 이름항목이 PRIMARY로 고유해야 하므로 이미 존재하는 맹구를 추가 할 수 없다는 뜻입니다.

 

테이블 구조에 따라 PRIMARY는 고유 키값으로 많이 사용되니 적절히 잘 사용하면 됩니다.

728x90
반응형

댓글