Postgresql:将对象附加到列表
Postgresql: Append object to a list
我有一个数据,其键为字符串,值是 json 的列表,看起来像
ID|data
A1|{key1:[{k1:v1,k2:v2},{{k3:v3,k4:v4}]}
我想为 key1
添加 json,比如说 {k9:v9,k7:v6}
,比如-
ID|data
A1|{key1:[{k1:v1,k2:v2},{{k3:v3,k4:v4},{k9:v9,k7:v6}]}
我已经尝试了jsonb_set和其他功能,但它们没有用,示例-
UPDATE tbl_name
SET data = jsonb_set(data,'{key1,1}','{k9:v9,k7:v6}'::jsonb) where ID = 'A1'
您需要使用 jsonb_insert()
函数来附加该部分,在修复 JSONB
值的格式后(否则您会得到“错误:输入语法无效对于类型 json" ) :
UPDATE tbl_name
SET data = jsonb_insert(data,'{key1,1}','{"k9":"v9","k7":"v6"}'::jsonb)
WHERE ID = 'A1'
我有一个数据,其键为字符串,值是 json 的列表,看起来像
ID|data
A1|{key1:[{k1:v1,k2:v2},{{k3:v3,k4:v4}]}
我想为 key1
添加 json,比如说 {k9:v9,k7:v6}
,比如-
ID|data
A1|{key1:[{k1:v1,k2:v2},{{k3:v3,k4:v4},{k9:v9,k7:v6}]}
我已经尝试了jsonb_set和其他功能,但它们没有用,示例-
UPDATE tbl_name
SET data = jsonb_set(data,'{key1,1}','{k9:v9,k7:v6}'::jsonb) where ID = 'A1'
您需要使用 jsonb_insert()
函数来附加该部分,在修复 JSONB
值的格式后(否则您会得到“错误:输入语法无效对于类型 json" ) :
UPDATE tbl_name
SET data = jsonb_insert(data,'{key1,1}','{"k9":"v9","k7":"v6"}'::jsonb)
WHERE ID = 'A1'