-
"Duplicate entry '' for key 'users.PRIMARY'",Error records 2022. 1. 16. 12:33
프론트에서 값을 입력받아 mysql에 저장을 하려고 하는데 "Duplicate entry '' for key 'users.PRIMARY'",라는 에러가 나왔다. id값을 pk로 설정하고 useState("")에서 ""로 값을 받았는데 ""은 pk가 될 수 없어서 위와 같은 에러가 나타난거같다.
나는 당연히 id는 중복되면 안되니까 pk로 하면 되겠구나 싶었는데 그럴경우에 사용자가 탈퇴를 하면 곤란한 경우가 생긴다고 한다.(그사람이 작성한 게시물도 다 삭제를 해야하나 말아야 되나와 같은...)
만약 사용자가 탈퇴를 한 뒤, 누군가가 똑같은 아이디로 가입을 한다면 문제가 발생할 소지가 다분하다(새로 가입했는데 예전에 작성한 글의 작성자가 되어있던지). 그래서 보통 id에는 unique속성을 넣고 PK는 겹치지 않는 값 ( 예를 들어 난수를 발생시킨다거나) 으로 사용하는 것이 좋다.
CREATE TABLE users(
PersonID int AUTO_INCREMENT
userName varchar(255)
)
위와 같은 식으로 유니크한 아이디값을 만들어서 넣어줄수있다.
'Error records' 카테고리의 다른 글
useState는 비동기이다. 이를 동기적으로 처리하는 방법 (0) 2022.02.04 로그인 할 때 비동기 처리가 필요하다 (0) 2022.01.31 Error 도 객체다 (0) 2022.01.26 Error: set failed: value argument contains an invalid key...Keys must be non-empty strings and can't contain ".", "#", "$", "/", "[", or "]" (0) 2022.01.06 TypeError: _service_image_uploader__WEBPACK_IMPORTED_MODULE_2__.default.upload(함수 이름) is not a function (0) 2022.01.04