请帮助修改整数类型到整数数组的列:
我创建了一个包含整数类型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[]"
此致
Sravan
答案 0 :(得分:21)
尝试此操作(在test发生之前,列test_id的类型为INTEGER)。 PostgreSQL 8.4。
ALTER TABLE test.test_id
ALTER COLUMN test_id TYPE INTEGER[]
USING array[test_id]::INTEGER[];
答案 1 :(得分:2)
这对我来说效果更好!
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 '{}';