테이블을 생성하면서 자동으로 증가하는 ID를 PK로 잡기 위해 자동증가하는 방법을 찾아보았다.
PostgreSQL 자동 증가(AUTO INCREMENT)하는 방법은 아래의 3가지 방법이 있다.
- Sequence
- Serial
- GENERATED { ALWAYS | BY DEFAULT } AS IDENTITY
[시퀀스 생성]
CREATE SEQUENECE tn_user_seq;
[특징]
[테이블 생성]
CREATE TABLE TN_USER (
id SERIAL primary key,
name varchar(255),
created_date timestamp,
modified_date timestamp
);
[특징]
💡 ALWAYS
[테이블 생성]
CREATE TABLE TN_USER (
id INTEGER GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
name VARCHAR(255),
created_date TIMESTAMP,
modified_date TIMESTAMP
);
[특징]
INSERT INTO tn_user_seq (name, created_date, modified_date) OVERRIDING SYSTEM VALUE VALUES('LSH', current_timestamp, current_timestamp);
💡 BY DEFAULT
[테이블 생성]
CREATE TABLE tn_user_seq (
id INTEGER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
name VARCHAR(255),
created_date TIMESTAMP,
modified_date TIMESTAMP
);
[특징]