• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

DB에 새로운 계정으로 입력해도 id가 계속 0입니다T_T; (증가하지 않음)

19.09.23 17:21 작성 조회수 129

2

 
//join.js
passport.serializeUser((userdone)=>{
    console.log('passport session saved:'user)
    done(nulluser// <- used deserialze for first arg
})

passport.deserializeUser((userdone)=>{
    console.log('passport session get id:'user)
    done(nulluser//
})

 passport.use('local-join'new LocalStrategy({
     usernameField: 'email',    // *form 의 input name과 일치해야함 
     passwordField: 'password'// *form 의 input name과 일치해야함 
     passReqToCallback: true,
 }, function(reqemailpassworddone){
     // 인증 처리 DB 접속 row 존재 여부 조회 등...
     const query = connection.query('select * from user where email=?', [email], (err,rows)=>{
         if(errreturn done(err);
         if(rows.length){
             console.log('your email is already exist')
             return done(nullfalse, {message: 'your email is already used'})
         }else{
             //insert
             const sql = {email: emailpassword: password};
             const query = connection.query('insert into user set ?'sql, (err,rows)=>{
                 if(errthrow err
                 return done(null, {'email': email'id': rows.insertId}) //session에 담을 정보를 넣을수있음 -> serialize 하지 않으면 에러 발생 
             })
         }
     })
 }))
[Terminal]
Listening on the port 3001 passport session saved: { email: 'hello@gmail.com', id: 0 } passport session get id: { email: 'hello@gmail.com', id: 0 } main.js loaded: { email: 'hello@gmail.com', id: 0 } passport session get id: { email: 'hello@gmail.com', id: 0 }

답변 1

답변을 작성해보세요.

5

지금은 해결하셨나 모르겠는데 같은 문제를 겪으실분을 위해 남겨봅니다.

해당 문제는 DB에서의 문제이고,

AUTO_INCREMENT 의 증가량을 부여하는것으로 저는 해결을 하였습니다.

sql에서 ALTER TABLE (테이블명) AUTO_INCREMENT =1; 를 통해 증가함을 확인했습니다.