primary key로 [a_id, b_id]
로 설정되어 있고
이미 데이터가 쌓여있는 상태에서
새로운 primary key로 변경할 때
위와 같은 방법으로 성공적으로 id 키를 수정했다 생각했지만
테이블에 새 row를 insert 할 때 constraint 오류가 발생했다.
autoincrement를 가지는 값은 sequence
로 관리가 된다.
primary key로 지정 했을 때의 테이블 sequence의 last_value는 1인데
위의 2번을 실행 할 때 코드 상에서 +1로 올려준 것은 last_value
에 반영이 안되었기 때문에
새로운 데이터가 들어올 때 이미 id가 1이 있는데 1로 생성하려 해서 생긴 문제였다.
SELECT last_value FROM "테이블이름_id_seq";
으로 확인 하고select setval('"테이블이름_id_seq"', 600, true);
+1한 값으로 수정.