我试着在我的spring boot应用程序.Figured上执行一些集成测试,内存中的数据库符合我们的需求。我们决定使用h2 database.Currently,我们使用的是MySQL5.5版本的.I dumped query from mysql。示例查询:-
CREATE TABLE `TEST` (
`id` varchar(20) NOT NULL,
`test` enum('','of') NOT NULL,
PRIMARY KEY (`id`)
);我在pom.xml中使用了以下依赖项:
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.199</version>
<scope>test</scope>
</dependency>如果我在h2上执行这个查询,会出现以下错误:-
Empty enums are not allowed; SQL statement:我在mysql模式下使用h2,连接如下:-
jdbc:h2:file:~/test;MODE=MYSQL有什么我能做的吗?如果我的数据源是mysql,有没有其他好的mysql兼容的内存数据库?我听说过mariaDB4j:mariaDB4j。
发布于 2019-03-20 06:06:13
这可能是一个错误,针对空值的规则似乎会破坏连接字符串中请求的mysql兼容模式。当然,对于H2原生模式,这是有意义的,但这不是这里的用例。
发布于 2019-03-19 17:22:33
错误很明显,您不能在枚举列中使用空值。改用一个值来表示空。
[...]
`test` enum('','of') NOT NULL,
[...]使用
[...]
`test` enum('--','of') NOT NULL,
[...]或
[...]
`test` enum(' ','of') NOT NULL,
[...]https://stackoverflow.com/questions/55236703
复制相似问题