PostgreSQL 更新JSON,JSONB字段的操作

直接使用

update 表名 set 列名 = (jsonb_set(列名::jsonb,'{key}','"value"'::jsonb)) where 條件 

要註意裡面的單引號和雙引號。

補充:向PostgreSQL中json中加入某個字段 或者更新某個字段的SQL語句

需求:通過SQL的方式,對JSON裡面的某個字段統一處理,更新成一個新值

1、向PostgreSQL中json中加入某個字段。例如:向users表中id為3的data列中加入 {“uptate_data”: “7”}

執行SQL:

update users set data = '{"uptate_data": "7"}'::jsonb where id = 3;

執行效果如下圖:

2、向PostgreSQL中json中更新某個字段。例如:例如:向users表中id為3的data列中再加入 {“uptate_minute”: “10”}

執行SQL:

update users set data = data::jsonb || '{"uptate_minute": "10"}'::jsonb where id = 3;

執行效果如下圖:

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。

推薦閱讀: