错误:语法错误在或附近" INTEGER"

时间:2016-12-21 15:16:15

标签: java postgresql flyway

我正在使用Flyway迁移PostgreSQL表以用于Spring Web应用程序,因此,我编写了一组SQL查询,这些查询将列添加到现有表中,例如:

ALTER TABLE table_1 ADD COLUMN table_value_x TYPE INTEGER;
ALTER TABLE table_1 ADD COLUMN table_value_y TYPE VARCHAR(100);

在Tomcat上部署war文件后,出现以下错误:

  

错误:语法错误在或接近" INTEGER"

由于Postgre对其错误没有那么多的信息,我正在寻找关于这可能是什么的任何建议或建议,谢谢。

3 个答案:

答案 0 :(得分:5)

According to the docs,我相信您需要省略TYPE

ALTER TABLE table_1 ADD COLUMN table_value_x INTEGER;
ALTER TABLE table_1 ADD COLUMN table_value_y VARCHAR(100);

在文档中, TYPE 关键字仅在您更改现有列的数据类型时使用。

ALTER [ COLUMN ] column [ SET DATA ] TYPE data_type [ COLLATE collation ] [ USING expression ]

答案 1 :(得分:2)

TYPE关键字仅在更改(更改)列数据类型时使用。要添加列,请忽略TYPE关键字,如Matt所写,并且在文档示例中显示(在页面末尾):https://www.postgresql.org/docs/9.4/static/sql-altertable.html

答案 2 :(得分:2)

我怀疑如果你摆脱“TYPE”这个词可能会有用。

请参阅下面的示例,来自Postgres网站。

ALTER TABLE distributors ADD COLUMN address varchar(30);

编辑:我看到很多人都打败了我。