14

请帮助将整数类型的列修改为整数数组:

content_id我创建了一个包含整数类型列的表。然后我尝试将其更改content_id(integer)integer[](integer array)但其显示错误如下所示:

TestDatabase=# ALTER TABLE tbl_handset_content ALTER COLUMN content_id TYPE integer[];
ERROR:  column "content_id" cannot be cast to type "pg_catalog.int4[]"

问候,

斯拉万

4

2 回答 2

34

试试这个(在发生改变之前,列 test_id 的类型是 INTEGER)。PostgreSQL 8.4。

ALTER TABLE test.test_id
    ALTER COLUMN test_id TYPE INTEGER[]
    USING array[test_id]::INTEGER[];
于 2012-12-14T13:43:37.680 回答
6

这对我来说效果更好!

ALTER TABLE schema.table
    ALTER COLUMN column
    DROP DEFAULT;
ALTER TABLE schema.table
    ALTER COLUMN column TYPE INTEGER[]
    USING array[column]::INTEGER[];
ALTER TABLE schema.table
    ALTER COLUMN column SET DEFAULT '{}';
于 2015-11-26T12:41:57.290 回答