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 |