我找到了一些资料,但有些资料没有解释清楚或例子难以理解。此示例在 PostgreSQL 12 上成功执行。要求是使用 PostgreSQL 部分更改 JSON 结构。JSONB 用作数据类型。
数据结构有以下外观
{
"id":1,
"person":{
"name":"fred"
}
}
数据记录将被更改。该属性$.person.name
必须更改并将$.person.gender
添加。
select '{"id":1, "person" : { "name" : "fred" } }'::jsonb || '{"person": { "name" : "lisa", "gender" : "F" }}'::jsonb
结果包含相应的修改。
{
"id":1,
"person":{
"name":"lisa",
"gender":"F"
}
}
JSONB 列的更新语句data
如下所示
update t_person set data = data || '{"person": { "name" : "lisa", "gender" : "F" }}'::jsonb