PostgreSQL如何从JSONB类型字段中彻底删除指定键值对
解决方案
你可以直接使用PostgreSQL为jsonb类型提供的-运算符实现键的完全移除,对应UPDATE语句如下:
UPDATE test SET slots = slots - '1';
执行后查询slots字段即可得到你期望的结果:
{"0": {"tag": "abc", "info": "xyz"}}
拓展说明
- 如果需要同时删除多个键,可以传入文本数组指定多个待删除键,示例:
-- 同时删除键"1"和"2" UPDATE test SET slots = slots - ARRAY['1','2']; - 如果需要删除嵌套层级的键,可以使用
#-运算符配合路径数组实现,示例:-- 删除键"0"下嵌套的info键 UPDATE test SET slots = slots #- '{0,info}';
内容的提问来源于stack exchange,提问作者drmrbrewer
相关产品推荐
相关产品推荐

