はじめに
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)
);