我正在为HSQLDB创建插入嵌套脚本,例如
插入表(col1,col2)值('val1',(从table2中选择val2,其中col3 ='val3'))
当我尝试使用Spring JDBCTemplate作为
执行此查询时 jdbcTemplate.execute(query);
它给了我带有未知令牌的BadSQL语法的例外:
但是,如果我为MySQL运行相同的查询,它可以正常工作,但对于HSQLDB,它不是1。
有人可以告诉我这个问题吗?
答案 0 :(得分:0)
最新的HSQLDB 2.x支持查询语法。
如果table2
中只有一行col3='val3'
,则该语句成功。但如果有多行,则失败。众所周知,MySQL会忽略SQL标准的这些细节。
如果这是问题,那么你可以使用
insert into table (col1, col2)
values ('val1', (select val2 from table2 where col3='val3' limit 1))