sql - JSONB 更改参数值
问题描述
我有一个表,其中包含一个名为whole_params的一行中的 json 类型,如果名为exampleParam的 json 参数等于value1,我想更改值我想将其更改为value2
UPDATE table_name t
SET whole_params = json_set(whole_params, '{exampleParam}')::jsonb)
WHERE t.whole_params ->> 'exampleParam' = 'value1';
我写了类似的东西,但我不知道如何改变那个'value1',有什么想法吗?
解决方案
您只需要使用jsonb_set()
而不是json_set()
稍作更改即可
UPDATE table_name t
SET whole_params = jsonb_set(whole_params, '{exampleParam}','"value2"')
WHERE t.whole_params ->> 'exampleParam' = 'value1';
推荐阅读
- javascript - 创建一个检查对象的函数
- mysql - 在 MySQL 中是否可以找到最小值/最大值但首先删除异常值?
- python - Discord.py - 允许特定频道中的命令
- android - 如何克服 IONIC Vue 3 android 构建中的 CORS 错误?
- json - 如何使用 id/codarea 作为标识符将一个 json 中的特征信息添加到 geoJson 中?
- python - 使用基于计数的迭代结构的初学者 Python 程序
- java - 给你两个二叉搜索树的根节点。确定两棵树是否存储相同的数字
- kotlin - 如何实现消息中重复的 gRPC/Proto 端点(即请求和响应中的嵌套类型)
- c++ - 在暴露给 DLL 的类的方法中 push_back 到向量的异常
- flutter - 在灵活的颤振中滚动