将SQLite数据库导入MySQL

时间:2015-10-13 12:43:02

标签: php mysql sqlite csv phpmyadmin

我使用Python生成了一个带有语法和词汇信息的SQLite数据库(5个表中的500k行),这些信息来自希伯来语(UTF8!)语料库。

我想将此数据库导入MySQL(phpMyAdmin)。早期的概念证明和成功导入较小的CSV表的方式。

我试过了:

  • 批量导入sqlite db。这会导致错误,因为它们的语法不同。
  • 导入grep'ed sqlite db,其中我删除了所有sqlite语法并将其替换为mysql compatible。导入函数是phpmyadmin,输入编码设置为utf8。

    导入成功,但phpmyadmin中的数据乱码(×לדי×)。

    • 有趣的是,通过mysql CLI查看数据时,此数据不会出现乱码。
    • 然而,当通过php获取数据时,它们再次出现乱码。这个php子程序在较小的集合上没有问题,因此这部分没有utf8乱码。
    • 我试图通过CHARACTER SET utf8来解决这个问题。将列数据类型更改为blob和back;这两种补救措施都无法解决在线的乱码数据输出问题。

辅助输出是每个SQLite表的CSV文件。

  • 批量上传这些文件失败。 phpmyadmin显示一个空白屏幕。我假设文件太大而无法立即解析。
  • 通过LOAD DATA导入CSV导致错误,导致我认为我的托管禁用了我的用户帐户的此功能。我忘了记下有问题的错误。我现在无法改变托管。

现在,我可以通过拆分csv文件并单独上传这些数据库来更新数据库(它是静态的,但无法与最终用户共享)。当然,我宁愿拥有更自动化的解决方案。

我在数据库设计方面不是很有经验,所以我希望我只有一个明显的选择。谢谢你的帮助。

0 个答案:

没有答案