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;

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기