PostgreSQLでシーケンスIDの次の値を発番するクエリです。
select nextval('project_id_seq') as "projectId";
解説
シーケンス名を引数にnextval()
関数を実行すると次のシーケンス値を取得できます。
取得されるシーケンス値の型はbigint
です。PostgreSQLのクライアントサイドのプログラミング言語やライブラリによってはbigint
をそのプログラミング言語のstring
型にマッピングすることがあります。その場合は、cast(nextval('...') as int)
のようにSQLで型変換を行うことで数値型にマッピングできるかもしれません。
as "projectId"
の部分は必要ないですが、このエイリアスを指定しない場合、カラム名がnextval
になります。
実行例
-- テーブルを作る
create table project (id serial not null);
-- IDを発番する
select nextval('project_id_seq') as "projectId";
実行結果
projectId
-----------
1
(1 row)