PostgreSQL更新表字段爲JSON的數據。
比如:
表結構如下:
# table name users
id bigserial not null primary key
info json '{}'::json
這個users表中有兩個字段,一個是主鍵id
,另一個是信息字段info
,默認是空json
如何更新這個info字段?
更新sql語句:
update users set info = info::jsonb || '{"name": "test"}'::jsonb where id=1;
這樣,如果info
字段有 name
這個key,那麼就會更新這個key對應的value,如果沒有這個key,就會新創建一個。
比如我最先info
存儲的是空的json,在我運行一次之後,id爲1的數據的 info
字段就會改編成
SELECT info FROM users WHERE id=1;
# > 輸出如下
{"name": "test"}