直接使用
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