首页 > 解决方案 > H2 JdbcSQLSyntaxErrorException:SQL 语句中的语法错误 - INSERT

问题描述

我在用一些数据初始化我的内存数据库时遇到这个错误,因为我加载数据的 sql 脚本的格式错误为 H2:

INSERT INTO cup_orchestrator.cpo_environment (`environment_id`,`environment`)
VALUES
(
   1,
   'DEV'
),

(
   2,
   'ACT'
),

(
   3,
   'PRD'
);

并且 H2 期望以这种方式:

INSERT INTO cup_orchestrator.cpo_environment (`environment_id`,`environment`) VALUES(1,'DEV'),(2,'ACT'),(3,'PRD');

原因:org.h2.jdbc.JdbcSQLSyntaxErrorException: SQL 语句“INSERT INTO CUP_ORCHESTRATOR.CPO_ENVIRONMENT ( ENVIRONMENT_ID, ENVIRONMENT)[*]”中的语法错误;预期“DIRECT、SORTED、DEFAULT、VALUES、SET、(, WITH, SELECT, TABLE, VALUES”;SQL 语句:INSERT INTO cup_orchestrator.cpo_environment ( environment_id, environment)

Eclipse 中是否有任何插件可以按照 H2 期望的方式格式化 sql 脚本?我正在使用 SQL Editor 1.1.0 但没有选项。

标签: eclipseeclipse-pluginh2spring-boot-test

解决方案


这一定是语法错误。请从列名 ( environment_id, environment) 中删除引号并尝试


推荐阅读