반응형

NEXTVAL 2

[PostgreSQL Error] duplicate key value violates unique constraint

에러 발생 이유 PostgreSQL 에서는 nextval( ) 등을 통해 primary key 를 생략한 채로 자동 시퀀스를 실행하다보면 primary key 자동으로 번호가 지정되는 경우가 있는데, 대게는 unique value 로 번호가 지정이 된다고 한다. 하지만, 데이터 복사 등의 데이터에 변경이 일어나는 모종의 이유로 시퀀스 객체와 테이블의 키 값에 차이가 생기는 경우가 종종 발생하는데, 이런 경우에는 primary key 를 생략한 채로 insert 를 할 경우에는 postgresql 에서 이를 인지하고 오류를 발생시킨다고 한다. ERROR: duplicate key value violates unique constraint "table_pkey" 해결방법 1. 오류가 난 테이블의 최대 키 값..

[PostgreSQL] nextval( ) 생성 법 정리

nextval( ) 이란? PostgreSql에서 시퀀스를 자동으로 생성시켜주는 function 이다. 생성하는 방법 postgresql 에서 nextval( ) 을 사용하기 위해서는 사전에 시퀀스를 먼저 생성해야 가능하다 CREATE SEQUENCE [시퀀스 이름] 그러고 난 후에 sequence 를 사용할 수 있다. 시퀀스를 insert, update 문등에 사용할 때는 # create 예시 create table [테이블 이름] (num_sequence int (default) nextval('생성한 시퀀스 이름') ... ... ); 주의할 사항 하지만 nextval 같은 경우에는 나의 기준에서는 아직까지는 사용하기가 은근히 까다로운 면이 있는 것 같다.. 특히 default 를 써주고 안 써주는..

반응형