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

更新表时如何将uuid类型值转换为uuid[]类型存入目标列?

解决PostgreSQL中UUID列转UUID数组列的类型不匹配问题

直接更新临时列的正确写法

你遇到的错误是因为直接将单个uuid类型的值赋值给uuid[](UUID数组)类型的列,PostgreSQL无法自动完成这种类型转换。解决方法是把单个UUID值包装成数组,有几种可行方式:

  1. 使用数组构造器ARRAY[]
UPDATE ABC SET temp_cities = ARRAY[city];
  1. 使用array()函数
UPDATE ABC SET temp_cities = array(city);
  1. 显式类型转换
UPDATE ABC SET temp_cities = city::uuid[];

后续替换原列的完整流程(可选)

如果最终需要把原city列替换成UUID数组类型,可以按以下步骤操作:

  • 确认临时列temp_cities已正确更新数据
  • 删除原city列
  • 将临时列重命名为city

对应的SQL语句:

-- 确保临时列数据正确
UPDATE ABC SET temp_cities = ARRAY[city];
-- 删除原列
ALTER TABLE ABC DROP COLUMN city;
-- 重命名临时列
ALTER TABLE ABC RENAME COLUMN temp_cities TO city;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 15:40:48