Duplicate entry '0' for key 'PRIMARY' 오류
Duplicate entry '0' for key 'PRIMARY'란?
쉽게 말해 PK값이 재대로 Insert되지 않는다는 의미이다.
해결방법
1. DB에서 PK로 사용하려는 값이 PK 혹은 AI가 체크되어 있는지 잘 확인한다.
2. Insert Query에서 PK를 주고있는지 확인해라
에러를 유발하는 쿼리 : PK값인 'id' 쿼리에 넣지 않음
public static final String SAVE_STUDENT =
"INSERT INTO tbl_student(name, phone, email)\r\n" +
"VALUES(#{name}, #{phone}, #{email})";
정상적인 쿼리
public static final String SAVE_STUDENT =
"INSERT INTO tbl_student(id, name, phone, email)\r\n" +
"VALUES(#{id}, #{name}, #{phone}, #{email})";
PK값이 로직에서 주는 특수한 값이면 밑의 쿼리가 당연하다고 생각 하겠지만,
만약 'Auto Increase'되는 값인데 왜 주어야 하나?
솔직히 나도 정확히는 모른다. Mac에서 로컬로 작업할때는 에러를 유발하는 쿼리로도 정상적으로 동작했었는데 막상 테스트 서버에 올리니까 에러가 났다.
아시는 분은 알려주시면 감사하겠습니다....ㅎㅎ
Author And Source
이 문제에 관하여(Duplicate entry '0' for key 'PRIMARY' 오류), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@yebali/Mysql-Duplicate-entry-0-for-key-PRIMARY-에-관하여저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)