0

我正在为 HSQLDB 创建一个插入嵌套脚本,例如

插入表 (col1, col2) 值 ('val1', (select val2 from table2 where col3='val3'))

当我尝试使用 Spring JDBCTemplate 作为

jdbcTemplate.execute(query);

它给了我带有未知标记的 BadSQL 语法:

但是,如果我对 MySQL 运行相同的查询,它可以正常工作,但对于 HSQLDB 它不是 1。

谁能告诉我这个问题?

4

1 回答 1

0

最新的 HSQLDB 2.x 支持查询语法。

如果总是恰好有一行,table2col3='val3'语句成功。但是如果有超过一排,它就会失败。众所周知,MySQL 会忽略 SQL 标准的此类细节。

如果这是问题,那么您可以使用

 insert into table (col1, col2) 
 values ('val1', (select val2 from table2 where col3='val3' limit 1))
于 2013-04-03T18:00:38.337 回答