경일/DATABASE
[mySQL] ERROR 1062 (23000): Duplicate entry '0' for key 'user.PRIMARY' 해결
dev_kong
2022. 2. 12. 18:23
728x90
728x90
이런상태였다.
pw 는 왜 또 null yes 냐;;
뭐.. 일단 그렇다 치고...
_id 를 primary key 로 설정하고싶었다.
ALTER TABLE user MODIFY _id INT PRIMARY KEY;
를 입력하면 _id 가 primary key 로 입력 돼아하는데
ERROR 1062 (23000): Duplicate entry '0' for key 'user.PRIMARY'
자꼬 이런 에러가 뜬다 열받게...
프라이머리 키는 중복이 되면 안되는 값인데,
중복이 된다는 내용.
확인을 해보니
이미 들어가 있는 데이터들의 _id 값이 0 으로 들어가있었다.
아 그럼 auto_increment 넣으면 되겠네.
ALTER TABLE user MODIFY _id INT (11) AUTO_INCREMENT;
했더니,
ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key
딱하나의 column 만 오토인크리먼트를 가질 수 있고,
key 로 정의 되어있어야 한단다.
아..
프라이머리키를 넣으려면 오토인크리먼트를 넣어야되고,
오토 인크리먼트를 넣으려면 프라이머리키를 넣으라고...?
걍 동시에 처 집어넣으면 됨...
ALTER TABLE user MODIFY _id INT (11) AUTO_INCREMENT PRIMARY KEY;
해결됨 ^^
당연한 건데 멍청했다..ㅎ
728x90
728x90