PostgreSQLの新しいJSON型の内部でSQLだけを使用して自動インクリメントすることは可能ですか(以下のように)。 シリアルとサーバーコードではない?
回答:
回答№1の場合は3「なぜあなたが欲しいのか本当に想像することはできませんが」。
CREATE SEQUENCE whywouldyou_jsoncol_seq;
CREATE TABLE whywouldyou (
jsoncol json not null default json_object(ARRAY["id"], ARRAY[nextval("whywouldyou_jsoncol_seq")::text]),
dummydata text;
);
ALTER SEQUENCE whywouldyou_jsoncol_seq OWNED BY whywouldyou.jsoncol;
insert into whywouldyou(dummydata) values("");
select * from whywouldyou;
jsoncol | dummydata
--------------+-----------
{"id" : "1"} |
(1 row)
この特定の定式化では、 文字列 "1"
数じゃない 1
JSONで。それを避けたい場合は、jsonオブジェクトを別の方法で形成することをお勧めします。これはほんの一例です。