본문 바로가기

Database/DB

ERROR: cannot change sequence "*****"

DB postgresql에서 PK의 다음번 순서를 변경해야 하는 상황이였습니다. (참고로 MySQL 은 컬럼에 AUTO_INCREMENT 속성을 사용 합니다. sequence는 오라클과 postgresql에만 있습니다.)

 

테이블의 구성은 아래와 같습니다.

 

즉 auth_user_id_seq를 변경해야 하는 상황에서

기존 쿼리문과 같이 update으로 실행하면 아래와 같이 에러가 발생합니다.

 

sequence는 기존 테이블 방식이 아닌 Function형태로 작동하며, 변경 또한 다르게 표현됩니다.

 

alter sequence 시퀀시이름 restart with 변경할값;

DDL 형태로 변경하면 값을 변경할수 있습니다. 단지 last_value의 값이 현재의 값이며, 해당 값을 변경하기 위해서는 "restart with" 키워드로 변경해야 합니다.

'Database > DB' 카테고리의 다른 글

DBMS core architecture 1  (0) 2020.06.12
postgreSQL 튜닝  (0) 2020.06.11
프로그래머스 SQL 고득점 KIT  (0) 2020.04.17
sql Index 고려사항  (0) 2018.11.24
Field 'ssl_cipher' doesn't have a default value  (0) 2018.08.29