java - 如何在 h2 上运行的 MySQL 查询中屏蔽掉 "USE INDEX"

标签 java mysql h2

我正在使用本地 h2 为 Java 应用程序测试 MySQL 查询。问题是 h2 不支持 MySQL 查询中的“USE INDEX”(索引提示)。它报告“SQL 语句中的语法错误”。有没有办法在 h2 中屏蔽掉 USE INDEX 来运行这个查询?

我尝试使用别名将 USE INDEX 部分替换为空字符串:

CREATE ALIAS `USE INDEX` FOR "<java-function-that-returns-empty-string>"

但它没有工作,即仍然报告“SQL 语句中的语法错误”。我怀疑这是因为“USE INDEX”是两个词,别名不支持?但我不确定。有什么建议么?谢谢。

最佳答案

H2 目前不支持非标准的 MySQL“USE INDEX”语法。所以你的 SQL 对于 H2 是无效的。

不过我目前正在将其添加到 H2。

关于java - 如何在 h2 上运行的 MySQL 查询中屏蔽掉 "USE INDEX",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36816632/

相关文章:

java - ALIGN_CENTER 无法解析或不是字段

java - 如何将毫秒转换为天?

mysql - mysql 或 postgres 中两列的唯一组合

sql - 主索引可以是 MySQL 中的 CHAR 吗?

java - 无法在 mac 上打开 h2.jar

java - 在 Java 中连接具有不同分隔符的字符串

mysql - SUM 重复行数

sql - H2 和外键

java - 在 Maven 多模块项目的各个模块的测试之间保留 h2 数据库

java - 当我覆盖变量时,我是否需要关闭读取器,或者垃圾收集器是否会关闭它?