列をpgadminで自動化する必要があることを指定するにはどうすればよいですか?
-
16-10-2019 - |
質問
psgreSQLデータベースを管理するためにPGADMIN IIIを学び始めました。しかし、それは簡単なアプリケーションではありませんでした。
PGADMIN IIIを使用してテーブルを作成または作成した場合、タイプの整数を持つ列IDに「自動インクリメント」機能性を追加するにはどうすればよいですか?
解決
2つのオプション:「datatype」を使用します シリアル または、シーケンスを作成し、このシーケンスを整数のデフォルト値として使用します。
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)
以下に示すように、主キーのデフォルト値に。
所属していません dba.stackexchange