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

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

alter table user modify column 'distinguishedName1' text;

alter table user modify column distinguishedName1 text;
  • user是表名

  • distinguishedName1是整数数据类型的列名。

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

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

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

解答

尝试这个:

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

或者

ALTER TABLE "user" ALTER COLUMN distinguishedName1 TYPE text

另请注意,USING 是可选的。请参阅此处的手册:

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

附带说明一下,尽量避免将您的表命名为保留关键字。

Logo

PostgreSQL社区为您提供最前沿的新闻资讯和知识内容

更多推荐