基于JSONB列关联更新PostgreSQL表失败求助
问题解决方向
错误原因
你遇到的报错源于jsonb字段访问语法错误:PostgreSQL中无法直接通过.访问jsonb类型字段的内部键值(A.info.EmpNumber这种写法不合法),必须使用PostgreSQL专属的jsonb操作符提取内部数据。
修正后的SQL语句
UPDATE A SET person_id = B.id FROM B WHERE A.info->>'EmpNumber' = B.info->>'EmpNumber';
关键说明
->>操作符用于从jsonb字段中提取指定键对应的文本类型值,适合做等值匹配(比如本次场景中EmpNumber为字符串类型)。- 若需提取jsonb原始类型值而非文本,可使用
->操作符,但本次场景下字符串匹配用->>更适配。
内容的提问来源于stack exchange,提问作者Liem Nguyen
相关产品推荐
相关产品推荐

