当前位置: 首页 > 知识库问答 >
问题:

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

顾鸣
2023-03-14

我是memmory数据库中的新手。

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

原因:组织。h2.jdbc。JdbcSQLException:未知的数据类型:“FK\u PERSON\u PERSONTYPE\u 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

用双引号、单引号等替换符号,。。。甚至不使用报价,但不起作用。请告诉我为什么?非常感谢。

共有1个答案

弓泰
2023-03-14

我也有类似的问题。

删除“KEY”行,在您的示例中,它会腐蚀:

KEY `fk_person__persontype_idx` (`type`),

为我工作。

 类似资料:
  • 我正在为一个JPA项目进行集成测试。测试在嵌入式h2数据库上运行。但是,当我使用Hibernate模式生成时,我收到了h2的错误 错误为org。h2.jdbc。JdbcSQLException:未知数据类型:“INTERVAL”; h2文档表明支持间隔: http://www.h2database.com/html/datatypes.html#interval_type 我用的是h2版本1.4.

  • 问题内容: 我正在使用JDBC和它的新功能。但我不断收到此运行时异常: 这是给定的代码 如何使此代码起作用?我只是JDBC的初学者。 对于上面的代码;PASS =“ passowrd”,USER =“ root” 我在通过此站点修复的端口上遇到了问题 非常感谢 问题答案: 请在mysql数据库中检查数据库名称“ kholofedb ”是否存在 我想你还没有创造 请检查一次(如果没有创建)及其相关表

  • 问题内容: 我正在尝试使用H2的runscript运行sql脚本。 该表之一包含一个长文本类型,该类型存储了一个xml文档(来自SAP数据库) 因此,Insert语句包含XML的长文本(大约200行XML),虽然很难看,但仍然可以使用。 在SQL解析期间,H2因ArrayOutOfBoundException而崩溃。 插入语句接受的长度是否有限制? 在nsert中,我使用刻度(如mysql中所使用

  • 我正在获取一个-无法更新Activiti数据库架构:来自数据库“5.20.0.1”的未知版本?知道为什么会出现这个错误吗?我使用的是Activiti-Engine-5.18.0 jar 我正在尝试使用Eclipse在Alfresco Activiti之外部署一个进程。

  • 问题内容: 我正在尝试将数据发送到php并将其插入到mysql数据库,但它似乎不起作用。我尝试将数据发送到php只是为了将其编码为json并将其回显为swift并返回结果,因此这意味着php文件已接收到数据。但是,插入数据无效。 swift2 httppost json.php 问题答案: 如果让服务器只是响应请求,那么问题就出在服务器内部,而不是客户端代码。我建议在PHP代码中添加一些错误处理:

  • 问题内容: 我从Hibernate开始,但有一个我无法弄清的错误。 我有以下课程: 那我有 最后: 我得到的错误是: 错误引发的唯一提示是该错误在此处的主类中: 这些id是字符串,我将它们标注为@GeneratedValue(我认为我不需要自己初始化它们)。关系@OneToMany具有级联注释,因此应正确映射。 我已经尝试了没有session.save行的代码,并且不会抛出错误,因此代码本身不是问