方法1: シーケンスを使用する方法
-- シーケンスを作成
CREATE SEQUENCE table_name_column_name_seq;
-- テーブルを作成
CREATE TABLE table_name (
column_name INTEGER DEFAULT nextval('table_name_column_name_seq'),
other_column VARCHAR(50),
-- 他の列の定義
);
-- シーケンスの現在の値を設定
SELECT setval('table_name_column_name_seq', (SELECT MAX(column_name) FROM table_name));
方法2: IDENTITY列を使用する方法 (PostgreSQL 10以降)
-- テーブルを作成
CREATE TABLE table_name (
column_name INTEGER GENERATED ALWAYS AS IDENTITY,
other_column VARCHAR(50),
-- 他の列の定義
);
方法3: SERIALデータ型を使用する方法
-- テーブルを作成
CREATE TABLE table_name (
column_name SERIAL,
other_column VARCHAR(50),
-- 他の列の定義
);
これらの方法を使用することで、非プライマリキーの列に自動インクリメントを実現することができます。選択した方法に応じて、上記のコード例を使用してテーブルを作成してください。