PostgreSQLデータベースを管理するためのpgAdmin IIIについて学び始めました。しかし、それは使いやすいアプリケーションではありませんでした。
PgAdmin IIIでテーブルを作成したか作成した場合、整数型の列IDに「自動インクリメント」機能を追加するにはどうすればよいですか?
2つのオプション: "datatype" [〜#〜] serial [〜#〜] を使用するか、シーケンスを作成して、このシーケンスを整数のデフォルト値として使用します。
CREATE SEQUENCE your_seq;
CREATE TABLE foo(
id int default nextval('your_seq'::regclass),
other_column TEXT
);
INSERT INTO foo(other_column) VALUES ('bar') RETURNING *;
PGAdminでこれを行う場合は、コマンドラインを使用するよりもはるかに簡単です。 PostgreSQLのように、列に自動インクリメントを追加するには、まず自動インクリメントシーケンスを作成し、それを必要な列に追加する必要があります。私はこれが好きでした。
1)最初に、テーブルの主キーがあることを確認する必要があります。また、主キーのデータ型をbigintまたはsmallintのままにします。 (bigintを使用しましたが、他の回答で言及されているように、シリアルと呼ばれるデータ型を見つけることができませんでした)
2)次に、シーケンスを右クリックしてシーケンスを追加します->新しいシーケンスを追加します。テーブルにデータがない場合は、シーケンスをそのままにして、変更を加えないでください。保存してください。既存のデータがある場合は、以下に示すように、主キー列の最後または最も高い値を[定義]タブの[現在の値]に追加します。
3)最後に、以下に示すように、nextval('your_sequence_name'::regclass)
という行を主キーのデフォルト値に追加します。