我有一个实体,其中有两个 jsonb 列:“选项”和“功能”。我想将数据从选项列内的字段复制到功能内的两级深字段。 我尝试过的:
UPDATE entity
SET features = jsonb_set( features
, '{informations}'
, "features"->'informations'
||'{"test": "options"->'test'}'
, true);
但是我在尝试运行迁移时遇到此错误:
QueryFailedError: syntax error at or near "test"
我认为 {} 和 test 周围的简单引号会产生错误。
我该怎么做?
仅供参考:反向迁移与 :
完美配合UPDATE entity
SET options = jsonb_set( options
, '{test}'
, features->'informations'->'test'
, true);
因为这里没有嵌套简单引号。
您只需要其中的一些引言:
UPDATE entity
SET features = jsonb_set( features
, '{informations}'
, features->'informations'
||options ->'test'
, true);
解决方案是:
UPDATE domain
SET features = jsonb_set(features, '{informations,test}', "options"->'test', true)