본문 바로가기
개발 이야기/Database

[Postgresql] Primary Key 중복 오류해결 - 시퀀스 시작점 변경

by 강한페페 2019. 12. 9.
반응형

-> board_file 테이블의 Primary Key가 중복되어 나타나는 오류

 

데이터 복사 붙여넣기와 같은 작업을 할 때 시작 시퀀스는 그대로이지만 삽입된 데이터로 인해서 실제 시퀀스가 더 큰 경우 시작 시퀀스를 설정해야 한다.

 

■ Example

형식 > ALTER SEQUENCE [시퀀스 명] restart with [INSERT 시 사용될 시퀀스];
예 > ALTER SEQUENCE "public"."board_file_ifileseq_seq" restart with 1088;

기존 시작 시퀀스(데이터가 추가될 시)가 800이라고 치고 데이터 이관이나 데이터 복사 붙여넣기가 이루어진 후 MAX 시퀀스가 1087이라고 할 때, 로직에 의해서 INSERT가 이루어지는 경우 시퀀스 801로 시도를 하기 때문에 중복 오류가 발생한다. 따라서 다음 추가될 때 사용될 시퀀스 번호를 1088로 설정해준다.

반응형