h2 数据库 初始化表 失败 表不存在(org.h2.jdbc.JdbcSQLException: Table "USER" not found; SQL statement:)
现象:
内存模式下,启动之后虽然执行了初始化脚本,但是在console中没有建表和插入初始数据。执行查询/更新操作,也提示表不存在
原因:
我的原因是因为初始化的sql是用navicat从mysql导出表得来,有些属性/参数应该是和h2数据库有不一样。虽然初始化程序时执行了scheme,但是可能报错了,而且控制台没看到异常代码。
解决方法:
删除了一些mysql中特有的东西,见下图红框里的东西。比如innodb数据库,编码格式等。
删成了左边的样子,再重启程序,即可再控制台界面看见初始化的表了,和预期相同。
20180819更新:
另外建表时最后一个分号很重要!!一定不要忘记这个分号!!