H2数据库 - MySQL脚本的未知数据类型

vie*_*nto 5 h2 in-memory-database

我是使用内存数据库的新手.

我尝试使用H2数据库来开发带有spring boot,spring数据JPA的项目,但是我在初始化应用程序时遇到了问题.

引起:org.h2.jdbc.JdbcSQLException:未知数据类型:"FK_PERSON__PERSONTYPE_IDX"; SQL语句:

因为这个脚本是从MySQL导出的.所以我认为有一些错误的语法,H2不理解

例如,这是脚本的一部分:

CREATE TABLE `person` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `firstname` varchar(255) NOT NULL,
  `lastname` varchar(255) DEFAULT NULL,
  `type` int(11) NOT NULL,
  `address` text,
  PRIMARY KEY (`id`),
  KEY `fk_person__persontype_idx` (`type`),
  CONSTRAINT `fk_person__persontype` FOREIGN KEY (`type`) REFERENCES `persontype` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='  ';
Run Code Online (Sandbox Code Playgroud)

我从这些尝试了一些解决方案:

将MySQL脚本转换为H2

http://matthewcasperson.blogspot.de/2013/07/exporting-from-mysql-to-h2.html

用双引号,单引号替换符号......甚至根本不使用引号但不起作用.请告诉我为什么?谢谢.

小智 1

我有类似的问题。

删除“KEY”行,在您的示例中对应于:

KEY `fk_person__persontype_idx` (`type`),
Run Code Online (Sandbox Code Playgroud)

为我工作。