2015-07-16 5 views
0

У меня есть табличный мир с полем v (jsonb) и workflow_id (int). Я хочу запустить команду: UPDATE world SET v = {'a': 1} WHERE workflow_id = 84; Это дает мне синтаксическую ошибку - я попытался помечать кавычки вокруг значения json во всех разных комбинациях, о которых я могу думать, но ничего не работает. Если я попробую «{'a': 1}", он сообщает мне, что столбец «{'a: 1}» не существует.Обновление поля JSONb в postgres

Любая помощь будет оценена по достоинству.

+0

Вы пытались сделать это, как описано в документации Postgres http://www.postgresql.org/docs/current/static/datatype-json.html? –

ответ

2

Попробуйте

UPDATE world SET v = '{"a": 1}::jsonb' WHERE workflow_id = 84; 

потому что вы должны отдать свой текст jsonb типа данных.

еще вы можете попробовать

UPDATE world SET v = CAST('{"a": 1}' AS JSONB) WHERE workflow_id = 84; 
Смежные вопросы