PostgreSQLでAUTO_INCREMENTする
serial
MySQLだとAUTO_INCREMENT属性がありますが、PostgreSQLではSERIAL型、またはBIGSERIAL型にすればインクリメントされるようになります。
create table sample_table ( id SERIAL NOT NULL , name character varying(30) , PRIMARY KEY(id) );
裏ではシーケンスオブジェクトが作成されます。
「テーブル名_カラム名_seq」という名前のシーケンスオブジェクトが作成されます。
シーケンス初期化
シーケンスオブジェクトが発番する値を初期化したい場合はsetvalで指定しなおします。
select setval('シーケンスオブジェクト名', 1, false);
これで次回インサート時に1が設定されます。
generated always as identity
generated always as identityを指定して同様のことができるようになります。
create table sample_table ( id GENERATED ALWAYS AS IDENTITY , name character varying(30) , PRIMARY KEY(id) );
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント