升级h2版本后出现如下错误,经排查为高版本h2有更多的关键字,创建表时如果列名与其冲突需要用英文双引号引起来。具体关键字可去h2官网查询http://www.h2database.com/html/advanced.html。命中该问题后的报错信息如下:
SQL Error [42001] [42001]: Syntax error in SQL statement "CREATE TABLE IF NOT EXISTS
CRACKTASK
(ID_ VARCHAR(255) , TYPE VARCHAR(15), CRACKFILES VARCHAR, CTRLSTATUS INTEGER(2), PROCESSSTATUS INTEGER(2), PRIORITY INTEGER(2), STARTTIME BIGINT, TARGETSIZE INTEGER, FINISHEDTARGETSIZE INTEGER, ACCOUNTSIZE INTEGER, CRACKEDACCOUNTSIZE INTEGER, FINISHEDACCOUNTSIZE INTEGER, FAILEDACCOUNTSIZE INTEGER, TOTALPASSWORDSIZE BIGINT, FINISHEDPASSWORDSIZE BIGINT, TASKSCHEDULERID VARCHAR(22), TASKNAME VARCHAR(50), TASKHISTORYNO VARCHAR(100), INTERVAL[*] INTEGER, CRACKMODE VARCHAR(20))"; expected "identifier"; SQL statement:
命中的关键字为INTERVAL,旧版本1.4.197不会出错,1.4.200会出现上述错误
官网有相应的提示信息: