直接使用
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; |
执行效果如下图:
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; |
执行效果如下图:
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。
原文链接:https://www.cnblogs.com/schyzhkj/p/12883716.html
查看更多关于PostgreSQL 更新JSON,JSONB字段的操作的详细内容...