본문 바로가기
Tips/Errors

[PostgreSQL] [42703] 오류: [~~] 칼럼은 "op_item" 릴레이션(relation)에 없음

by 오늘의개발부 2019. 7. 9.
반응형
  • Oracle이나 mySQL, mariaDB 정도만 줄곧 사용하다가 PostgreSQL 이라는 새로움을 맛보는 중이다.
    물론 아직 제대로 아는 게 없어서 무슨 맛인지 하나도 모른다.

  • 그렇게 그냥 평범하게 UPDATE문을 작성하다가 만난 오류.

     UPDATE SHOP_ITEM SI
      SET SI.DISCOUNT_AMT = 500
      WHERE SI.ITEM_ID = 1;

    평범한 UPDATE 문이지만

    [42703] 오류: "si" 칼럼은 "op_item" 릴레이션(relation)에 없음
    라는 오류를 뱉는다. AS 키워드를 사용해 Alias를 붙여도 마찬가지.
    찾아보니 다른 곳에서 Alias는 모두 먹히지만 컬럼 명을 쓰는 SET 구절 안에서는 Alias를 사용할 수 없는 듯.
    쓸 수 없는 것인지, 사용방법을 제대로 모르는 것인지는 아직 잘 모르겠다.
    어쨌든 당장은 이렇게 해결했다.

     UPDATE SHOP_ITEM SI
      SET DISCOUNT_AMT = 500
      WHERE SI.ITEM_ID = 1;
  • 아직 PostgreSQL을 잘 모르니 이것이 해결방법이다! SET 안에서는 Alias를 쓰지말자! 라고 말 할 순 없지만 일단 기록해놓기 위해 올려둔다.

반응형