无法更改postgres中列的数据类型

时间:2009-08-19 14:47:42

标签: postgresql

我正在尝试将列的数据类型更改为varchar,但会出现以下错误

ERROR:  syntax error at or near "type" at character 40

我的代码如下

alter table n_logs alter column action type varchar(100);

我正在运行PostgreSQL 7.4.13(是的,我知道我需要升级)

2 个答案:

答案 0 :(得分:5)

我认为你不能这样做: http://www.postgresql.org/docs/7.4/interactive/ddl-alter.html

您应该将其分为3个步骤

  1. 添加新列
  2. 将值从第1列复制到第2列
  3. 删除旧栏目

答案 1 :(得分:2)

我知道你说你已经找到了解决方案,但如果你拿出“action”关键字,你的命令就会有效,就像这样:

ALTER TABLE table_name_here 
ALTER COLUMN column_name_here type varchar(100); 

上面的SQL对我有用,谢谢。