PostgreSQL SERIAL의사 유형과 의사 유형을 사용하여 SERIAL테이블에서 자동 증가 열을 정의 하는 방법
CREATE TABLE table_name(
id SERIAL
);
--- same
CREATE SEQUENCE table_name_id_seq;
CREATE TABLE table_name (
id integer NOT NULL DEFAULT nextval('table_name_id_seq')
);
ALTER SEQUENCE table_name_id_seq
OWNED BY table_name.id;
- 먼저 시퀀스 개체를 만들고 시퀀스에 의해 생성된 다음 값을 열의 기본값으로 설정합니다.
- 둘째, 시퀀스는 항상 null이 아닌 값인 정수를 생성하므로 열에 NOT NULL 제약 조건을 추가 id합니다.
- 셋째, id열에 시퀀스의 소유자를 지정합니다 . 결과적으로 id열이나 테이블이 삭제되면 시퀀스 개체가 삭제됩니다.
Name | Storage Size | Range |
SMALLSERIAL | 2 bytes | 1 to 32,767 |
SERIAL | 4 bytes | 1 to 2,147,483,647 |
BIGSERIAL | 8 bytes | 1 to 9,223,372,036,854,775,807 |
반응형
CREATE TABLE fruits(
id SERIAL PRIMARY KEY,
name VARCHAR NOT NULL
);
INSERT INTO fruits(name)
VALUES('Orange');
INSERT INTO fruits(id,name)
VALUES(DEFAULT,'Apple');
SELECT * FROM fruits;
반응형
'SW ENGINEERING > Postgres' 카테고리의 다른 글
[PostgreSQL] BASIC - Identity Column (0) | 2021.09.06 |
---|---|
[PostgreSQL] BASIC - Sequences (0) | 2021.09.06 |
[PostgreSQL] BASIC - SELECT INTO/CREATE TABLE (0) | 2021.09.06 |
[PostgreSQL] BASIC - CREATE TABLE (0) | 2021.09.06 |
[PostgreSQL] BASIC - Data Types - 2 (0) | 2021.09.06 |
최근댓글