我需要更新表'设置'中的jsonb数据(column-> users) 我的jsonb数据就像
'{
"Email": "aaaa",
"UserId": "49",
"Created": "11/13/2016",
"EntityId": "1",
"IsActive": "False",
"Modified": "11/13/2016",
"Username": "aa"
}'
在这个json字符串中,我需要一起更新Email,IsActive,Username。 我尝试了下面的更新查询,它的工作正常。但这是单值更新。
UPDATE settings
SET users = jsonb_set(users, '{Email}', '"aa"')
WHERE users @> '{"UserId":"49"}';
如何更新多值更新?我正在使用postgres 9.5。
答案 0 :(得分:10)
UPDATE settings
SET users = users || '{"Email": "new email", "IsActive": "True", "Username": "new username"}'
WHERE users @> '{"UserId":"49"}';