You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL脚本中向jsonb字段插入UUID的正确格式是什么?

正确的UUID数组插入jsonb字段的PostgreSQL脚本

错误原因

  • 单个UUID变量无法直接通过::uuid[]转为UUID数组,需用ARRAY[]语法构造数组
  • array_to_json仅接受一个数组参数,第二个INSERT语句传递两个参数属于语法错误
  • 需确保最终生成的是jsonb类型(可直接用to_jsonb函数一步完成转换)

修正后的脚本

DO $$
DECLARE
  tagid1 UUID := '77170ed4-4d39-4799-ad22-750e57a11833';
  tagid2 UUID := '890b96ad-c595-4b6e-9e49-cad234190fda';
BEGIN
  -- 插入单个UUID组成的jsonb数组
  INSERT INTO entity(id, tags) VALUES (1, to_jsonb(ARRAY[tagid1]));
  
  -- 插入多个UUID组成的jsonb数组
  INSERT INTO entity(id, tags) VALUES (2, to_jsonb(ARRAY[tagid1, tagid2]));
END $$;

补充说明

  • to_jsonb可直接将UUID数组转换为jsonb类型,无需先转json再转jsonb
  • 若偏好使用array_to_json,可写成array_to_json(ARRAY[tagid1])::jsonb,效果与to_jsonb一致

内容的提问来源于stack exchange,提问作者Jemolah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 01:27:04