본문 바로가기
BackEnd/node.js-express

[Todo List Express] Post Method 이후 데이터 return 해주는 방법, PostgreSQL 대문자

by Chaedie 2023. 3. 4.
728x90

문제 - 생성한 todo의 id를 모른다…

exports.createTodo = async todo => {
  const values = [todo];
  const query = `
    INSERT INTO todos
    (todo, "isCompleted")
    VALUES($1, false)
    RETURNING id, todo, "isCompleted";
  `;

  const { rows } = await client.query(query, values);

  return rows;
};

createTodo를 INSERT문으로 했는데 id값을 받아서 다시 한번 todo를 찾아서 주려고 한다. 근데 …. 어떻게 함?

해결 - RETURNING id

 INSERT INTO todos
    (todo, "isCompleted")
    VALUES($1, false)
    RETURNING id, todo, "isCompleted";

RETURNING id 를 하면 가능하다..!!

 


문제 - 갑자기 쿼리 안먹음…

갑자기 쿼리 안먹어서 에러메시지 좀 읽어보니 table명이 자꾸 안맞는단다.

해결 - 대문자 넣을 땐 “”로 감싸기

그래서 검색해보니 Postgre는 컬럼명 테이블명에 대문자 넣을수 있는데, 대문자 들어가는 문자의 경우 SQL 문에서 “”로 감싸줘야한단다.

iscompleted로 되어있는 컬럼명을 수정했더니 문제가 생긴거였다.. 쌍따옴표로 감싸니 잘됨..!

TODO CRUD 성공

댓글