我有一个带有json字段(不是json-b)的表,需要删除与某些记录一起存在的键(或将值设置为“”)。如何使用SQL更新此表?我看过this的问题,但感觉应该有一个更简单的方法来解决这个简单的问题。
json
json-b
cu6pst1q1#
首先:如果你经常更新值,json在数据库设计中可能是一个糟糕的选择:
纯SQL:
UPDATE tbl SET json_col = ( SELECT concat('{', string_agg(to_json(j.key) || ':' || j.value, ','), '}')::json FROM json_each(json_col) j WHERE j.key <> 'delete_this_key' ) WHERE json_col->>'delete_this_key' <> ''; -- only applicable rows!
字符串相关信息:
1条答案
按热度按时间cu6pst1q1#
首先:如果你经常更新值,
json
在数据库设计中可能是一个糟糕的选择:纯SQL:
字符串
相关信息: