我在Postgres中执行了这个SQL语句
alter table user modify column distinguishedName1 text;
和
user
distinguishedName1
是表名top: 0; margin:auto;
是具有整数数据类型的列名。我想根据用户的输入将数据类型修改为boolean或text或varchar(256)等。但是当我运行查询时,我得到了错误
错误:“修改”或其附近的语法错误
不确定是什么问题。正确查询需要帮助。
答案 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来修改表的列