假如有一个表,permission,数据是
修改表里面info需的a改为b,可以这样
注:这种方式,如果没有a,会新增b,如果表里有b,b会被覆盖掉,b的值也会被改成Null,可以放在函数中用COALESCE判断是不是Null
UPDATE permission set info = info -'a'|| jsonb_build_object('b', info -> 'a') WHERE id = 2
结果
或者
注:这种方式,如果没有a,表里面的info会变成Null,可以放在函数里做判断在修改
update permission set info = jsonb_set (
info - 'a', '{b}', info -> 'a')