꾸준한 개발일기

PostgreSQL:: id컬럼에 AUTO INCREMENT 적용하기 본문

DB/PostgreSQL

PostgreSQL:: id컬럼에 AUTO INCREMENT 적용하기

꾸개일 2022. 7. 12. 09:46
반응형

 

 

 

사용자를 추가해 줄 때 id 값이 겹치지 않게 AUTO INCREMENT를 적용하려 한다.

mariaDB를 사용할 때는 테이블을 생성할 때 AUTO INCREMENT를 적용해 주면 됐는데 

현업에서 겪어보니 postgres는 시퀀스를 생성하는 방법을 많이 쓰는 듯 하다.

 

 

1. 시퀀스 생성

// 시퀀스 생성
CREATE SEQUENCE 테이블명_id_seq;

// 시작값을 설정하고 싶은 경우
CREATE SEQUENCE 테이블명_id_seq START 숫자;

create문을 사용하여 시퀀스를 생성해준다.

만약 기존 데이터가 있거나 시작값을 설정하고 싶다면 start 숫자까지 작성해주면 된다.

 

 

 

2. 기존에 존재하는 테이블이 적용하는 경우

ALTER TABLE 테이블명 ALTER COLUMN 컬럼 SET DEFAULT nextval('테이블명_id_seq');

alter문으로 컬럼 조건을 변경해준다.

 

 

 

3. 테이블을 생성시 시퀀스를 적용하는 경우

CREATE TABLE 테이블명 (
    컬럼명 integer NOT NULL DEFAULT nextval('테이블명_id_seq')
);

 

 

 

4. 시퀀스 삭제

DROP SEQUENCE 테이블명_id_seq cascade;

시퀀스를 삭제하는 경우 drop문을 사용한다.

테이블에 시퀀스를 적용하는 경우 cascade를 사용해주어야 삭제가 가능하다.

 

 

 

반응형
Comments