如何将mySql数据库导出到嵌入式数据库(例如H2)?

发布于 2024-11-07 05:01:37 字数 197 浏览 1 评论 0原文

我们一直在做一个项目。一开始我们遇到了一些数据库问题,因此我们使用 mySQL 服务器数据库来解决这个问题。

现在我们真的应该回到嵌入式数据库,访问是不可能的(必须是跨平台的)

我们的导师建议使用 H2 嵌入式数据库,但是如果我们尝试运行它,我们的 sql-dump 就会出现语法错误在H2的控制台中。

有什么想法吗? 提前致谢!

We have been working on a project. In the beginning we had some database issues, so we used a mySQL-server database to work around this.

Now we really should get back to an embedded database, access is out of the question (has to be cross-platform)

Our mentor suggested using an H2 embedded database, but we our sql-dump is getting syntax errors if we try to run it in the console of H2.

Any thoughts?
Thanks in advance!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

一杯敬自由 2024-11-14 05:01:37

要在unix系统上生成适合H2 SQL脚本,您可以尝试以下操作:

mysqldump -u root -c --p --skip-opt db_name | sed -e "/^--/d" -e 's/`//g' -e 's/bigint(20)/numeric(20)/g' -e 's/double\(([^(]*)\)/double/' -e 's/int(11)/integer/g' -e '/^\/\*.*\*\//d' -e '/^LOCK TABLES/d' -e '/^\/\*/,/\*\//c\;' -e '/^CREATE TABLE/,/);/{/^  KEY/d; /^  PRIMARY KEY/ s/,$//}' > db.sql

目前它不支持所有mysql特定语句的转换,请随意编辑和添加其他转换。

To generate suitable for H2 SQL script on unix system you may try the following:

mysqldump -u root -c --p --skip-opt db_name | sed -e "/^--/d" -e 's/`//g' -e 's/bigint(20)/numeric(20)/g' -e 's/double\(([^(]*)\)/double/' -e 's/int(11)/integer/g' -e '/^\/\*.*\*\//d' -e '/^LOCK TABLES/d' -e '/^\/\*/,/\*\//c\;' -e '/^CREATE TABLE/,/);/{/^  KEY/d; /^  PRIMARY KEY/ s/,$//}' > db.sql

Currently it is not supporting conversion of all mysql specific statements, feel free to edit and add additional conversions.

聊慰 2024-11-14 05:01:37

MySQL 生成的 SQL 脚本是针对 MySQL 运行的。它包含其他数据库不支持的选项和功能。

相关问题中所述,您可以尝试使用 < a href="http://dev.mysql.com/doc/refman/5.0/en/mysqldump.html#option_mysqldump_complete" rel="nofollow noreferrer">兼容性选项。但您可能仍然需要手动修复问题。

The SQL script generated by MySQL is made to run against MySQL. It contains options and features that other databases don't support.

As described in a related question, you could try creating the dump using the compatibility option. But you may still need to fix problems manually.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文