在 JSONB 中添加布尔字段
Adding boolean field in JSONB
我试图通过 json 请求在我的 JSON 对象中添加一个新的 bool 字段,但它不起作用。我应该如何更改请求?
update source_settings
set settings = settings - 'isEnabled' ||
jsonb_build_object('isEnabled', settings->'isEnabled')
where settings ? 'isEnabled';
如果你想添加一个 new 键,那么只需使用 ||
附加它
update source_settings
set settings = settings || jsonb_build_object('isEnabled', true)
where not (settings ? 'isEnabled');
WHERE 子句将确保仅更改键不存在的行。因此 settings
已经包含 "isEnabled"
的行不会更改。
如果密钥不存在,那么使用 settings->'isEnabled'
就没有意义,因为它总是 return null
我试图通过 json 请求在我的 JSON 对象中添加一个新的 bool 字段,但它不起作用。我应该如何更改请求?
update source_settings
set settings = settings - 'isEnabled' ||
jsonb_build_object('isEnabled', settings->'isEnabled')
where settings ? 'isEnabled';
如果你想添加一个 new 键,那么只需使用 ||
update source_settings
set settings = settings || jsonb_build_object('isEnabled', true)
where not (settings ? 'isEnabled');
WHERE 子句将确保仅更改键不存在的行。因此 settings
已经包含 "isEnabled"
的行不会更改。
如果密钥不存在,那么使用 settings->'isEnabled'
就没有意义,因为它总是 return null