我尝试使用下面的代码,但引发了"数组处或附近的语法错误"。谷歌搜索了一下,什么也没找到。可以这样做吗?谢谢!
alter table "tablename" alter column "columnname" TYPE ARRAY(VARCHAR(200));
我不清楚你是要增加每个条目的长度,还是数组的长度。
数组声明遵循 datatype[]
的形式 - []
使列成为数组,数据类型规范是基类型的规范。
因此,如果要增加每个数组元素的长度,只需声明一个具有更长varchar
长度的数组: varchar(200)[]
:
alter table "tablename"
alter column "columnname" TYPE varchar(200)[];
如果要使用 ARRAY
关键字,则需要将其放在数据类型之后:
alter table "tablename"
alter column "columnname" TYPE varchar(200) array;
如果你想增加数组的长度(=允许更多的数组元素(,你不需要做任何事情,因为即使你指定了一个数组维度,Postgres 也不会强制执行