我是memmory数据库中使用的新手。
我试图使用H2数据库来开发带有spring-boot、spring-data JPA和的项目,但在初始化应用程序时遇到了问题。
由以下原因引起:org.h2.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=' ';
我尝试了一些解决方案:
将MySQL脚本转换为H2
http://matthewcasperson.blogspot.de/2013/07/exporting-from-mysql-to-h2.html
将符号替换为双引号、单引号,。。。甚至根本不使用引号,但不起作用。请告诉我为什么?非常感谢。
我也遇到了类似的问题。
删除"KEY"行,在您的示例中,该行对应于:
KEY `fk_person__persontype_idx` (`type`),
为我工作。