【发布时间】:2017-12-11 19:20:47
【问题描述】:
我正在使用 Postgres 9.6,并且我有一个 JSONB 列,其中一些行具有 NULL 值,而一些行具有像 {"notify": false} 这样的 dict 值。
我想用更多的字典键/值对更新列值。
UPDATE accounts SET notifications = jsonb_set(notifications, '{"alerts"}', 'false');
适用于我已经拥有{"notify": false} 之类的值的情况。最终结果变成了预期的{"alerts": false, "notifications": false}。
但是我试图更新我们NULL 的值,数据库中没有任何更新。
您能否告诉我如何更新NULL 值,因此它们的最终结果将是{"notify": false} 之类的值。最终结果变成了预期的{"alerts": false}
【问题讨论】:
-
你试过
jsonb_set(coalesce(notifications,'{}'), '{"alerts"}', 'false')
标签: json postgresql jsonb postgresql-9.6