直接使用

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;

执行效果如下图:

PostgreSQL 更新JSON,JSONB字段的操作

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

执行SQL:

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

执行效果如下图:

PostgreSQL 更新JSON,JSONB字段的操作

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。

标签:
PostgreSQL,更新JSON,JSONB字段

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
白云城资源网 Copyright www.dyhadc.com

评论“PostgreSQL 更新JSON,JSONB字段的操作”

暂无“PostgreSQL 更新JSON,JSONB字段的操作”评论...

稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!

昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。

这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。

而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?