当你不小心将 key
的名称写错了(人员类别:
多了一个冒号),或者想把引文改为中文(type
改为类型
)
大致思路是添加一个新的 key
,然后将旧的 key
删除
假如 JSON 列为 extra
:
extra::jsonb ->> 'type'
获取到 type
的值
extra::jsonb - 'type'
将 type
删除
jsonb_set
来修改 json 列中的值
学习了以上知识点,就可以组合使用,最终的 sql
语句如下:
UPDATE table_name
SET extra = jsonb_set(extra::jsonb - 'type', '{类型}', extra::jsonb ->> 'type')
WHERE extra ->> 'type' is not null;
参考链接: