将表数据类型从varchar更改为文本PostgreSQL

问题描述 投票:3回答:1

我有问题并在Google上搜索解决方案但找不到任何解决方案。我有一个名为products_199的postgres表,在该表中有一个名为parameter2的列varchar (255)。我想将数据类型更改为text但不知何故我得到以下错误

错误:解析器:在字符50处的“TYPE”处或附近解析错误

我的命令如下所示,我想执行

ALTER TABLE products_199 ALTER COLUMN parameter2 TYPE text;

我正在使用PostgreSQL 7.3.4

postgresql
1个回答
3
投票

我认为该语法仅适用于较新的PostgreSQL版本。

如果你不能改变版本(7.3.4很旧),我建议你只需添加一个新列,复制数据,然后删除旧列。这将是最安全的方式。

像这样的东西(没有测试,先备份!)

begin; 
alter table products_199 add column parameter2_n text; 
update products_199 set parameter2_n=parameter2; 
alter table products_199 drop column parameter2;
commit;
vacuum; 
© www.soinside.com 2019 - 2024. All rights reserved.