首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql兼容内存数据库(h2)查询错误

Mysql兼容内存数据库(h2)查询错误
EN

Stack Overflow用户
提问于 2019-03-19 16:44:44
回答 2查看 313关注 0票数 0

我试着在我的spring boot应用程序.Figured上执行一些集成测试,内存中的数据库符合我们的需求。我们决定使用h2 database.Currently,我们使用的是MySQL5.5版本的.I dumped query from mysql。示例查询:-

代码语言:javascript
复制
CREATE TABLE `TEST` (
  `id` varchar(20) NOT NULL,
  `test` enum('','of') NOT NULL,
   PRIMARY KEY (`id`)
);

我在pom.xml中使用了以下依赖项:

代码语言:javascript
复制
<dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <version>1.4.199</version>
        <scope>test</scope>
</dependency>

如果我在h2上执行这个查询,会出现以下错误:-

代码语言:javascript
复制
Empty enums are not allowed; SQL statement:

我在mysql模式下使用h2,连接如下:-

代码语言:javascript
复制
jdbc:h2:file:~/test;MODE=MYSQL

有什么我能做的吗?如果我的数据源是mysql,有没有其他好的mysql兼容的内存数据库?我听说过mariaDB4j:mariaDB4j。

EN

回答 2

Stack Overflow用户

发布于 2019-03-20 06:06:13

这可能是一个错误,针对空值的规则似乎会破坏连接字符串中请求的mysql兼容模式。当然,对于H2原生模式,这是有意义的,但这不是这里的用例。

票数 0
EN

Stack Overflow用户

发布于 2019-03-19 17:22:33

错误很明显,您不能在枚举列中使用空值。改用一个值来表示空。

代码语言:javascript
复制
[...]
`test` enum('','of') NOT NULL,
[...]

使用

代码语言:javascript
复制
[...]
`test` enum('--','of') NOT NULL,
[...]

代码语言:javascript
复制
[...]
`test` enum(' ','of') NOT NULL,
[...]
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55236703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档