我有一个名为 attr 字段的 jsonb 类型,其中包含以下内容:
{
"pid": 1,
"name": "john",
"is_default": true
}
如何将 is_default 更改为 false?
我尝试在下面运行,但没有运气。
update attr set attr ->> 'is_default' = false where sales_type = 2
我有一个名为 attr 字段的 jsonb 类型,其中包含以下内容:
{
"pid": 1,
"name": "john",
"is_default": true
}
如何将 is_default 更改为 false?
我尝试在下面运行,但没有运气。
update attr set attr ->> 'is_default' = false where sales_type = 2
有两种方法可以做到这一点:
简单地连接新的键/值对:
这是有效的,因为当连接两个
jsonb
值时,现有的键将被覆盖。另一种方法是使用
jsonb_set()
它更新通过“路径”指定的位置的值(通过数组的元素定义)使用即将发布的第 14 版(将于 2021 年第四季度发布),您将能够将其简化为: