【发布时间】:2016-11-23 09:40:17
【问题描述】:
我需要更改数据库中的一个表。我想要的是添加一个类型为integer[] 的列,并直接从另一个查询中向该列添加值,结果是 4 个 ID 号。
我目前得到的:
ALTER TABLE resourcen add rs_insurance integer[]
update resourcen set rs_insurance = (select li_id from li_versicherungsart)
第二条命令返回以下错误:
ERROR: column "rs_insurance" is of type integer[] but expression is of type integer
SQL state: 42804
Hint: You will need to rewrite or cast the expression.
Character: 37
如何将找到的所有 ID 转换为 int[] 数组?
【问题讨论】:
-
select array_agg(li_id) ...但您绝对需要某种相关的子查询。但是如果没有关于这两个表的更详细信息以及它们之间的关系,就很难判断 -
这成功了!将其发布为答案,以便我接受!
-
是的,这正是我想要的。但是 li_versicherungsart 在不同的安装上是不同的。
-
因为用户稍后可能会更改这些值。
标签: postgresql alter