inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지

게시글, 이미지 업로드하기

Unkown column 'Post.UserId' in 'field list'

787

정민교

작성한 질문수 50

0

rendermain
Executing (default): SELECT `Post`.`id`, `Post`.`content`, `Post`.`img`, `Post`.`createdAt`, `Post`.`updatedAt`, `Post`.`UserId`, `User`.`id` AS `User.id`, `User`.`nick` AS `User.nick` FROM `posts` AS `Post` LEFT OUTER JOIN `users` AS `User` ON `Post`.`UserId` = `User`.`id` AND (`User`.`deletedAt` IS NULL) ORDER BY `Post`.`createdAt` DESC;
Error
    at Query.run (C:\Users\user\study\nodejs\nodebird\node_modules\sequelize\lib\dialects\mysql\query.js:52:25)
    at C:\Users\user\study\nodejs\nodebird\node_modules\sequelize\lib\sequelize.js:315:28
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
    at async MySQLQueryInterface.select (C:\Users\user\study\nodejs\nodebird\node_modules\sequelize\lib\dialects\abstract\query-interface.js:407:12)
    at async Function.findAll (C:\Users\user\study\nodejs\nodebird\node_modules\sequelize\lib\model.js:1140:21)
    at async exports.renderMain (C:\Users\user\study\nodejs\nodebird\controllers\page.js:16:23) {
  name: 'SequelizeDatabaseError',
  parent: Error: Unknown column 'Post.UserId' in 'field list'
      at Packet.asError (C:\Users\user\study\nodejs\nodebird\node_modules\mysql2\lib\packets\packet.js:728:17)
      at Query.execute (C:\Users\user\study\nodejs\nodebird\node_modules\mysql2\lib\commands\command.js:29:26)
      at Connection.handlePacket (C:\Users\user\study\nodejs\nodebird\node_modules\mysql2\lib\connection.js:489:32)
      at PacketParser.onPacket (C:\Users\user\study\nodejs\nodebird\node_modules\mysql2\lib\connection.js:94:12)
      at PacketParser.executeStart (C:\Users\user\study\nodejs\nodebird\node_modules\mysql2\lib\packet_parser.js:75:16)
      at Socket.<anonymous> (C:\Users\user\study\nodejs\nodebird\node_modules\mysql2\lib\connection.js:101:25)
      at Socket.emit (events.js:400:28)
      at addChunk (internal/streams/readable.js:293:12)
      at readableAddChunk (internal/streams/readable.js:267:9)
      at Socket.Readable.push (internal/streams/readable.js:206:10) {
    code: 'ER_BAD_FIELD_ERROR',
    errno: 1054,
    sqlState: '42S22',
    sqlMessage: "Unknown column 'Post.UserId' in 'field list'",
    sql: 'SELECT `Post`.`id`, `Post`.`content`, `Post`.`img`, `Post`.`createdAt`, `Post`.`updatedAt`, `Post`.`UserId`, `User`.`id` AS `User.id`, `User`.`nick` AS `User.nick` FROM `posts` AS `Post` LEFT OUTER JOIN `users` AS `User` ON `Post`.`UserId` = `User`.`id` AND (`User`.`deletedAt` IS NULL) ORDER BY `Post`.`createdAt` DESC;',
    parameters: undefined
  },
  original: Error: Unknown column 'Post.UserId' in 'field list'
      at Packet.asError (C:\Users\user\study\nodejs\nodebird\node_modules\mysql2\lib\packets\packet.js:728:17)
      at Query.execute (C:\Users\user\study\nodejs\nodebird\node_modules\mysql2\lib\commands\command.js:29:26)
      at Connection.handlePacket (C:\Users\user\study\nodejs\nodebird\node_modules\mysql2\lib\connection.js:489:32)
      at PacketParser.onPacket (C:\Users\user\study\nodejs\nodebird\node_modules\mysql2\lib\connection.js:94:12)
      at PacketParser.executeStart (C:\Users\user\study\nodejs\nodebird\node_modules\mysql2\lib\packet_parser.js:75:16)
      at Socket.<anonymous> (C:\Users\user\study\nodejs\nodebird\node_modules\mysql2\lib\connection.js:101:25)
      at Socket.emit (events.js:400:28)
      at addChunk (internal/streams/readable.js:293:12)
      at readableAddChunk (internal/streams/readable.js:267:9)
      at Socket.Readable.push (internal/streams/readable.js:206:10) {
    code: 'ER_BAD_FIELD_ERROR',
    errno: 1054,
    sqlState: '42S22',
    sqlMessage: "Unknown column 'Post.UserId' in 'field list'",
    sql: 'SELECT `Post`.`id`, `Post`.`content`, `Post`.`img`, `Post`.`createdAt`, `Post`.`updatedAt`, `Post`.`UserId`, `User`.`id` AS `User.id`, `User`.`nick` AS `User.nick` FROM `posts` AS `Post` LEFT OUTER JOIN `users` AS `User` ON `Post`.`UserId` = `User`.`id` AND (`User`.`deletedAt` IS NULL) ORDER BY `Post`.`createdAt` DESC;',
    parameters: undefined
  },
  sql: 'SELECT `Post`.`id`, `Post`.`content`, `Post`.`img`, `Post`.`createdAt`, `Post`.`updatedAt`, `Post`.`UserId`, `User`.`id` AS `User.id`, `User`.`nick` AS `User.nick` FROM `posts` AS `Post` LEFT OUTER JOIN `users` AS `User` ON `Post`.`UserId` = `User`.`id` AND (`User`.`deletedAt` IS NULL) ORDER BY `Post`.`createdAt` DESC;',
  parameters: {}
}
GET / 500 25.038 ms - 2481
GET /main.css 200 2.256 ms - 2609
exports.renderMain = async (req, res, next) => {
    console.log('rendermain')
    try {
        const posts = await Post.findAll({
            include: {
                model: User,
                attributes: ['id', 'nick'],
            },
            order: [['createdAt', 'DESC']] // 최신순 정렬(작성일 기준 내림차순)
        });
        console.log(posts);
        res.render('main', {
            title: 'NodeBird',
            twits: posts
        });
    } catch (error) {
        console.error(error);
        next(error);
    }
};

안녕하세요 선생님

npm run start 서버 띄우고 localhost:8001 로 갔을 때 나오는 에러 입니다.

사진도 같이 띄웁니다.

controller/page.js 에서 16번째 줄에서 에러가 발생하길래 확인하였는데

위 에러 코드에서 보이듯이 sql문에 Post테이블의 UserId 컬럼이 포함되어 있었습니다.

Post 테이블 만들 때 UserId 컬럼을 명시한 적이 없는데 왜 sql 문에 포함되었는지 잘 이해가 안 갑니다ㅠㅠ

node.js mysql mongodb express typescript socket.io jwt

답변 2

0

정민교

force: true 옵션으로 테이블 다시 만들었습니다

화면 멀쩡하게 잘 나옵니다 선생님ㅠ

테이블도 잘 생성되었습니다.

정말 감사합니다 ㅠㅠ 두 시간을 해멨는데 한 번에 해결해주셨네요 감사합니다.

0

정민교

공식 홈페이지에서 찾았습니다.

belongToMany 했을 때 자동으로 foreignkey가 생성된다고 나옵니다.

    static associate(db) {
        db.Post.belongsTo(db.User);
        db.Post.belongsToMany(db.Hashtag, {through: 'PostHashtag'});
    }

associate에서 belongsTo메서드 실행했는데 Post테이블에 UserId라는 컬럼이 생성되지 않았습니다...

어느 부분이 문제인지 잘 모르겠습니다.

2

제로초(조현영)

이미 Post 테이블이 잘못 만들어져있는 것 아닌가요? 지우고 다시 해보세요.

깃헙 질문

0

82

2

강의 1-1 수업노트의 로드맵 링크가 작동하지 않습니다.

0

78

1

aws - lightsail 이용 관련

0

59

1

4강 http 서버 만들때 ESM방식으로 해도 될까요?

0

83

2

모듈 사용 시 단점이 있나요?

0

83

1

node.js 버전 및 typescript 적용 문의

0

95

2

12.7. 방장기능(강퇴) 질문드립니다.

0

80

2

12.7 socket.js코드 그대로 뱃겨서 했는데, socket.request.session.color가안나오네요

0

69

1

12.7 코드 그대로 뱃겨서 햇는데 스샷같이 오류가뜹니다.

0

76

2

12.7.1스스로 해보기 질문되나요

0

95

3

시퀄라이즈 실습하기 질문드립니다.

0

196

9

<7-5. 시퀄라이즈 사용하기>수업 질문 드립니다.

0

97

2

크롬에서 user id를 인풋에 입력하고 등록하면 404 에러처리 페이지가 뜹니다.

0

113

2

구매 결제관련 질문입니다 !

0

123

1

다수의 supertest 가 실행될 때 force:true로 인한 DB 초기화 문제

0

134

2

node 설치 방법이 전혀다르게 바뀐것 같습니다.

0

152

2

12강 깃허브에 있는 12.7 chat.html 복붙했는데 css오류

0

123

2

무료/프리미엄 동시 소유 시 질문

0

117

1

비주얼 스튜디오 코드로 계속 진행해도 괜찮을까요?

0

135

2

10강 cors에러 localhost:4000으로 접속했을때 에러

1

159

2

webstorm 해결할 수 없는 변수 문제

0

155

2

혹시 몽고DB 쓸거면 MySQL 강의 스킵해도 되나요?

0

149

2

LightSail 실행 중 오류 질문드립니다!

0

204

2

RedisStore 사용법 질문

0

133

2