在 PostgreSQL 中更新 jsonb 数据中的多个值
Update multiple values in a jsonb data in PostgreSQL
我需要在我的 table 'settings' 中更新一个 jsonb 数据(列->用户)
我的 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。
UPDATE settings
SET users = users || '{"Email": "new email", "IsActive": "True", "Username": "new username"}'
WHERE users @> '{"UserId":"49"}';
我需要在我的 table 'settings' 中更新一个 jsonb 数据(列->用户) 我的 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。
UPDATE settings
SET users = users || '{"Email": "new email", "IsActive": "True", "Username": "new username"}'
WHERE users @> '{"UserId":"49"}';