PostgreSQL 更新JSON,JSONB字段的操作

时间:2022-06-01 19:06:16

直接使用

?
1
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:

?
1
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:

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

执行效果如下图:

PostgreSQL 更新JSON,JSONB字段的操作

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

原文链接:https://www.cnblogs.com/schyzhkj/p/12883716.html