【发布时间】:2015-09-28 23:37:45
【问题描述】:
我有一个名为 'attr' 的 json 类型列,用于存储一个列表,包括一些像 [{"foo":1}, {"foo":2}, {"foo":3}] 这样的字典。
现在我想将列表扩展到[{"foo":1}, {"foo":2}, {"foo":3}, {"foo":4}]。当然我可以使用如下的 sql 查询:
update tbl
set attr='[{"foo":1}, {"foo":2}, {"foo":3}, {"foo":4}]'::json;
但是,我需要在我的网络服务器中执行它。所以我必须选择前一个值,扩展列表,然后更新到表中。
我在想是否有办法使用一些 postgresql 函数来执行此操作,例如 array_to_json 或 json_array_elements
我写了这个查询:
update tbl
set attr = json_build_array(json_array_elements(attr), '{"foo":4}'::json);
但它得到了错误的结果。
【问题讨论】:
标签: python json postgresql sql-update