首页 > 解决方案 > 如何将 JSONB 值设置为 null

问题描述

我正在尝试将一堆 jsonb 值更新为 null。这是我正在尝试做的一个例子,我得到了下面的错误。

在这种情况下如何设置first-name为 null?

UPDATE users
SET
    fields = fields || '{"first-name": NULL}'
WHERE user_id = 1;
ERROR:  invalid input syntax for type json
LINE 3:  fields = fields || '{"first-name": NULL}'
                                    ^
DETAIL:  Token "NULL" is invalid.
CONTEXT:  JSON data, line 1: {"first-name": NULL...

标签: postgresqljsonb

解决方案


使用jsonb_set

UPDATE users
SET
    fields = jsonb_set(fields, '{first-name}', 'null')
WHERE user_id = 1;

推荐阅读