【发布时间】:2016-12-22 13:49:32
【问题描述】:
我的users 表包含metadata 类型的json 列。
现在,我想在保留现有值的同时向用户添加新元数据。
所以我使用|| 运算符来合并 2 个 JSON 对象:
UPDATE users
SET metadata = metadata::jsonb || '{"test": true}'::jsonb
WHERE id=...
RETURNING *;
当已有一些元数据时,一切正常。
但是,当先前的值为 NULL 时,更新不起作用。更新后的metadata还是NULL。
如何改进我的查询,以便在之前的值为 NULL 时设置新的 JSON 对象,否则合并之前的值和新的值?
【问题讨论】:
标签: json postgresql postgresql-9.5