안녕하세요, 제 상황은 UID column 을 그냥 제 임의대로 만들었었어요. 그래서 강의를 따라할 때 UID 값이 제대로 들어가지 않았습니다. 제 db 는 강의 처럼 data 가 들어갈 때마다, 1 씩 늘어나지 않았습니다.
저처럼 임의대로 UID column 을 만들었을 때 해결했던 방법을 알려드리겠습니다. 저와 비슷한 상황이면 도움이 될 수도 있을 것같아요.
1) 임의로 만든 UID COLUMN 삭제
임의로 만든 UID 를 삭제해야하는 이유는 auto_increment 설정을 하려면, 해당 column이 primary key 형태여야 하기 때문입니다.
ALTER TABLE user DROP UID;
2) UID를 PRIMARY KEY 로 추가
밑의 명령문을 입력하면, user 테이블의 가장 마지막 COLUMN 에 UID 가 추가될 것입니다.
ALTER TABLE user ADD UID int PRIMARY KEY;
3) UID 를 AUTO INCREMENT 설정
ALTER TABLE user MODIFY UID int NOT NULL AUTO_INCREMENT;
여기에 NOT NULL 을 붙이지 않으면, localhost:3000/join 에서 아이디, 이름, 비번을 넣고 제출하고 다음과 같은 에러를 얻습니다.
code: 'ER_NO_DEFAULT_FOR_FIELD',
errno: 1364,
sqlMessage: "Field 'UID' doesn't have a default value",
4) UID COLUMN 을 강의처럼 맨 앞에 붙이기
ALTER TABLE user MODIFY COLUMN UID int FIRST;
5) 잘 되었나 테스트 해보기
INSERT INTO user(email, name, pw) VALUES("hi@naver.com", "hello", "0000"); // data 넣기
select * from user; // user table 확인해보기
참고한 링크 공유합니다
[MySQL] 테이블에 데이터 입력하기 INSERT INTO - 가벼운 블로그 (tistory.com)
MySQL : auto_increment (값 자동증가) 및 초기화방법 및 초기화 되지 않을때 : 네이버 블로그 (naver.com)
[오라클] PRIMARY KEY 삭제시 유의할 점 (tistory.com)
[MySQL] 테이블에 데이터 입력하기 INSERT INTO - 가벼운 블로그 (tistory.com)
코딩의 시작, TCP School
MySQL 테이블 컬럼 순서 바꾸기 - 제타위키 (zetawiki.com)
그누보드 QA - SQL에서 INSERT사용시 INTO 대신 SET을 사용한 이유가 궁금합니다! (sir.kr)
I like DumpsMate customer supports they help me to restore my PC while I am studying my certification exams, https://www.activedumpsnet.com/Salesforce-dumps/Integration-Architecture-Designer.html provides authentic IT Certification exams preparation material guaranteed to make you pass in the first attempt.
답글
CertsTopics offers 2V0-41.23 exact questions answers and practice test engine with real questions and verified answers. Try VMware NSX 4.x Professional exam questions for free. You can also download a free PDF demo of VMware VMware NSX 4.x Professional exam. Our VMware NSX 4.x Professional Combo Package for which includes PDF (Printable Format) and Testing Engine (Works on Windows and MAC) which ensures you to go through all certification topics and provides you ultimate satisfaction to pass your exam in your first attempt.
답글