想把手上的Sqlite数据库导入到MySql,想来应该很简单,结果发现非常麻烦。
1、工具直接导入。试着找了几个软件,都不行。网上有人开发的,但是要收费,也不能用。
2、用各自支持的方式,中转。我用的是sqlitestudio和Navicat for MySQL,都挺好用。sqlite可以把表导出,mysql可以导入,想来比较容易,却无数的坑:
1)最好用的是dbf,双方都支持,而且带表结构。但是——dbf对中文支持稀烂。导出来的打开就已经是乱码了,想各种招都不行。
2)xml,导入时列识别不了
3)json不支持
4)xls,格式会将一些字符串自作主张的改得乱七八糟,也头疼
5)用access导倒是可以,就是非常麻烦
3、最后找到一条路径,可以完成导入:
1)把sqlite的ddl语句在mysql中运行,去掉一些不识别的部分,如自增,默认值等。成功后,再手动调整这些属性。这样就有了一个需要的库结构了。
2)用sqlite的导出数据
注意,配置中默认编码是“cp936”,改为utf-8。分隔符默认是逗号。还要选中列表为首行。
3)mysql中,进入导入向导,选择txt
选择csv文件,下一步的分隔符改为逗号
下一步的数据行改为2
顺利的话,就会自动对应好所有的列
最关心的,中文字段成功过来了: