【问题标题】:H2 and MySQL compatibility issuesH2 和 MySQL 的兼容性问题
【发布时间】:2014-07-28 14:28:05
【问题描述】:

我正在使用 H2 进行与 Liquibase 的集成测试,似乎存在兼容性问题。

一个简单的更改列函数不会传递到 H2,它在 MySQL 发行版上完美运行。

这里是查询:

ALTER TABLE `designs`
ALTER COLUMN `description` `description` TEXT NULL DEFAULT NULL AFTER `created`;

还有错误:

2014-06-07 14:27:05,708 [DEBUG] [NewPooledConnection,handleThrowable(),430] - com.mchange.v2.c3p0.impl.NewPooledConnection@78af2ac3 handling a throwable.
org.h2.jdbc.JdbcSQLException: Syntax error in SQL statement "ALTER TABLE DESIGNS 
ALTER COLUMN DESCRIPTION TEXT NULL DEFAULT NULL AFTER[*] CREATED "; SQL statement:
ALTER TABLE designs ALTER COLUMN description TEXT NULL DEFAULT NULL AFTER created [42000-178]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:344)

一些配置:

repository.connectionString = jdbc:h2:mem:db;MODE=MySQL;DB_CLOSE_ON_EXIT=FALSE
repository.driver = org.h2.Driver
repository.username = sa
repository.password = 

任何想法如何解决这个问题?据我了解H2应该与Mysql兼容

【问题讨论】:

    标签: mysql sql testing h2 liquibase


    【解决方案1】:

    Asdocumented,H2(在一定程度上)兼容其他数据库,例如 HSQLDB、MySQL 和 PostgreSQL。但在某些领域,H2 是不兼容的。

    另请参阅SQL syntax supported by H2

    【讨论】:

      猜你喜欢
      • 2013-12-11
      • 2011-09-01
      • 1970-01-01
      • 2019-06-10
      • 2019-11-04
      • 2014-07-19
      • 2015-02-14
      • 2013-01-25
      • 2011-03-07
      相关资源
      最近更新 更多