错误:在“修改”或附近的语法错误 - 在postgres中

时间:2016-03-28 12:30:51

标签: sql postgresql ddl alter-table

我在Postgres中执行了这个SQL语句

alter table user modify column distinguishedName1 text;

user
  • distinguishedName1是表名
  • top: 0; margin:auto;是具有整数数据类型的列名。

我想根据用户的输入将数据类型修改为boolean或text或varchar(256)等。但是当我运行查询时,我得到了错误

  

错误:“修改”或其附近的语法错误

不确定是什么问题。正确查询需要帮助。

3 个答案:

答案 0 :(得分:2)

用于更改列类型的

POSTGRES语法:

ALTER TABLE user ALTER COLUMN distinguishedName1 TYPE text;

答案 1 :(得分:1)

试试这个:

ALTER TABLE "user" ALTER COLUMN distinguishedName1 TYPE text USING code::text;

ALTER TABLE "user" ALTER COLUMN distinguishedName1 TYPE text

另请注意USING是可选的。请参阅此处的manual

  

可选的USING子句指定如何计算新列   来自旧的价值;如果省略,则默认转换与   从旧数据类型转换为new的赋值。 USING子句必须是   如果没有从旧到新的隐式或赋值转换,则提供   类型。

在旁注上尽量避免将表命名为reserved keywords

答案 2 :(得分:1)

alter table user Alter column distinguishedName1 text;

语法错误,对于sql server,你必须使用alter来修改表的列