У меня есть столбец jdata
типа jsonb
внутри таблицы 'JTABLE'. Пример jdata
выглядит следующим образом:
{
"id" : 12,
"address" : {
"houseName": {
"name" : "Jackson",
"lang" : "ENG"
}
}
}
Как я могу запросить обновить lang
до anotherValue
для этого?
Я пробовал это, и это не похоже на работу:
UPDATE JTABLE SET jdata -> 'address'->'houseName'-> 'lang' = '"DEU"' where jdata->>'id' = '12';
Это не работает! Любая помощь?
РЕДАКТИРОВАТЬ:
Это перезаписывает мое значение, и я получаю это, когда я запускаю:
{
"id" : 12,
"address" : {
"houseName": {
"lang" : "DEU"
}
}
}
Я потерял ключ name
.
Я пытаюсь этот запрос сейчас:
SELECT jsonb_set(jdata, 'address,houseName}', '{"lang":"DEU"}'::jsonb) FROM JTABLE where jdata->>'id' = '12';