Notice
Recent Posts
Recent Comments
Link
꾸준한 개발일기
PostgreSQL:: id컬럼에 AUTO INCREMENT 적용하기 본문
반응형
사용자를 추가해 줄 때 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