【发布时间】:2018-06-05 17:47:48
【问题描述】:
我正在尝试使用内存中的 hsql db 为我的 Spring Cloud Task Batch 应用程序运行集成测试,它给了我执行此 db 语句的以下错误。该语句在 sqlserver db 中执行良好。我需要做一些语法更改吗?谢谢!
表创建查询
CREATE TABLE TASK_SEQ (
ID BIGINT NOT NULL,
UNIQUE_KEY CHAR(1) NOT NULL,
constraint UNIQUE_KEY_UN unique (UNIQUE_KEY)
);
插入查询
INSERT INTO TASK_SEQ (ID, UNIQUE_KEY) select * from (select 0 as ID, '0' as UNIQUE_KEY) as tmp;
错误堆栈跟踪
Caused by:
org.springframework.jdbc.datasource.init.ScriptStatementFailedException:
Failed to execute SQL script statement #1 of class path resource
[schema-DML.sql]: INSERT INTO TASK_SEQ (ID, UNIQUE_KEY) select * from
(select 0 as ID, '0' as UNIQUE_KEY) as tmp; nested exception is
java.sql.SQLSyntaxErrorException: unexpected token: ) at
org.springframework.jdbc.datasource.init.ScriptUtils.executeSqlScript(ScriptUtils.java:491)
【问题讨论】: