Обновление нескольких значений в данных jsonb в PostgreSQL
Мне нужно обновить данные 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.
1 ответ:
Используйте оператор конкатенации :
UPDATE settings SET users = users || '{"Email": "new email", "IsActive": "True", "Username": "new username"}' WHERE users @> '{"UserId":"49"}';