提问者:小点点

错误:在postgres中的“modify”处或附近有语法错误


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

alter table user modify column 'distinguishedName1' text;

而且

alter table user modify column distinguishedName1 text;
  • user是表名
  • distingishedName1是具有整数数据类型的列名。

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

错误:“modify”或“modify”附近有语法错误

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


共2个答案

匿名用户

试试看:

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

ALTER TABLE "user" ALTER COLUMN distinguishedName1 TYPE text

还要注意,使用是可选的。请参阅此处的手册:

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

请注意,尽量避免将表命名为保留关键字。

匿名用户

postgres更改列类型的语法:

ALTER TABLE user ALTER COLUMN distinguishedName1 TYPE text;