1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

postgresqlでテーブル作成時にシーケンスを自動作成する

Last updated at Posted at 2020-10-15

はじめに

quita初投稿です。
これから日々業務で学んだことを忘れないようにアウトプットしていく場として、活用いきたいとい思います。
現在業務でpostgresqlを使用しているため、業務上で経験したことを記載します。

環境

  • postgresql 9.6
  • windows10

やり方

postgresqlでは、データ型に 連番型 が存在するので、テーブル作成時に指定することで、対応するシーケンスオブジェクトを自動で生成してくれる。

実際のCREATE文

CREATE TABLE sample(
  sample_id SERIAL NOT NULL,
  sample_name varchar(20)
  PRIMARY KEY(sample_id)
);

MySQLでいうとことの、AUTO_INCREMENT属性に近いかと思います。

CREATE文でSERIALを指定しない場合
予めシーケンスオブジェクトを作成しておいた状態で、CREATE文にシーケンスオブジェクトを指定できる。

CREATE SEQUENCE sample_sample_id_seq;
CREATE TABLE sample (
    colname integer DEFAULT nextval('sample_sample_id_seq') NOT NULL,
    sample_name varchar(20)
    PRIMARY KEY(sample_id)
);
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?