본문 바로가기

Backend/PostgreSQL and TypeORM

zero-length delimited identifier at or near ''"

db 테이블에 id 컬럼에서 default 옵션으로 seq(시퀀스)를 설정해주는 부분이 있었는데,

계속해서 ('테이블 이름_id_seq'::regclass)를 설정하려고 하면 테이블 이름_id_seq 부분에서 빨간색으로 뜨며 인식이 되지 않으며 

에러 메시지는 zero-length delimited identifier at or near ''"와 같은 에러가 뜨는 것이다. 

 

이에 대해 알고보니, 내가 시퀀스를 만들어주지 않아서 발생하는 에러였다. 

 

시퀀스 만드는 방법은 다음과 같다. 

 

1) 해당 테이블의 DDL 접속 

2) id 부분에서 serial 추가 

    id                    serial
        constraint project_activity_pk
            primary key,

3) 그러면 Default Expression에서 nextval('테이블 이름_id_seq'::regclass)가 자동으로 설정된다. 

 

표현 관련 에러인 줄 알았는데, 시퀀스를 만들어주어야 하는 문제였다.