ポストグレスデータベースでシークエンスを作成する方法は?
PostgreSQLデータベースにAUTOINCREMENTシーケンスを作成するには、CREATE SEQUENCEステートメントを使用します。AUTOINCREMENTシーケンスを作成する例を以下に示します。
CREATE SEQUENCE sequence_name
START WITH start_value
INCREMENT BY increment_value
MINVALUE min_value
MAXVALUE max_value
CACHE cache_value;
シーケンス名を表すsequence_name、シーケンスの開始値を表すstart_value、シーケンスの増分値を表すincrement_value、シーケンスの最小値を表すmin_value、シーケンスの最大値を表すmax_value、キャッシュするシーケンス値の数を表すcache_value
以下に具体的な例を示します。
CREATE SEQUENCE customer_id_seq
START WITH 1
INCREMENT BY 1
MINVALUE 1
MAXVALUE 1000
CACHE 10;
これによりcustomer_id_seqという名前のシーケンスが作成され、初期値は 1 で、増分は 1、最小値は 1、最大値は 1000 で、10 個のシーケンス値がキャッシュされます。
SERIAL キーワードをテーブルのカラム定義で使用することで、テーブルに自動インクリメント シーケンスを使用できます。例:
CREATE TABLE customers (
id SERIAL PRIMARY KEY,
name VARCHAR(50)
);
自動採番シーケンスを使用したid列を含む customers というテーブルが作成されます。