如何解决使用jsonb_set更新JSON类型的列
我尝试通过data
更新json
表的books
列(类型为jsonb_set
)
UPDATE books
SET data = jsonb_set(data,'{borrowers}','[{"name":"john doe","time":"1:00PM"}]')
WHERE id= 'some_id';
并遇到此错误:
> ERROR: function jsonb_set(json,unknown,unknown) does not exist
我发现在doc中,jsonb_set
仅适用于jsonb
类型
jsonb_set(target jsonb,path text[],new_value jsonb [,create_missing boolean])
但是我没有特权将列类型更新为jsonb
。那么在这种情况下我该如何解决?
解决方法
通过类型转换来掌握一个简单的技巧
UPDATE books
SET data = jsonb_set(data::jsonb,'{borrowers}','[{"name":"john doe","time":"1:00PM"}]')
WHERE id= 'some_id';
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。