【发布时间】:2018-10-29 16:43:11
【问题描述】:
我有一个大的 data.sql 文件,用于在应用程序启动时将数据加载到 H2 中。
这是我的 data.sql 的一部分
CREATE TRIGGER AU_TRIGGER
AFTER UPDATE ON TABLE_A FOR EACH ROW
CALL "com.trigger.MyTrigger";
LOAD DATA LOW_PRIORITY INFILE 'C:/Users/mytextfile.delim'
REPLACE INTO TABLE TABLE_B
FIELDS TERMINATED BY '|'
IGNORE 1 LINES
(name, age, etc);
当我启动应用程序时,data.sql 中的所有查询都运行良好,但一旦到达LOAD DATA... 部分,我就会收到此错误:
原因:org.h2.jdbc.JdbcSQLException: SQL 语句中的语法错误“LOAD[*] DATA LOW_PRIORITY INFILE ... [42000-197]
This is my application.yml spring.datasource.url
=jdbc:h2:mem:mydb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE;MODE=MYSQL
spring.datasource.username: myusername
spring.datasource.password: mypassword
driver-class-name: org.h2.Driver
谁能建议我如何解决这个问题?有什么提示吗?
【问题讨论】:
-
我想知道 MySQL 在 mode=mysql 下运行时对 H2 的支持有多少。如果我在h2database.com/html/features.html 页面上检查 MySQL 兼容模式,它看起来仅限于基本查询。
-
H2 接缝支持
CSVREADsource h2database.com/html/tutorial.html#fulltext