1、sqllite 导出表结构 为 xxx.sql
2、格式、语法、关键字之类的修改(两者sql的语法有差异)
3、导入mysql
步骤2、格式转换参考:
1、建索引语句之类的替换 http://www.jianshu.com/p/27ad93c28354
2、表名的[] 符号替换 https://zhuanlan.zhihu.com/p/20778415
3、datetime 默认值问题 DEFAULT (DATETIME ('now', 'localtime')) https://segmentfault.com/q/1010000002666451
4、mysql datetim 默认值设置
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
https://zhidao.baidu.com/question/246389703.html
5、BLOB/TEXT column 'Id' used in key specification without a key length(主键 or 唯一索引都会报错)
mysql只能使用固定长度的field作为主键,所以不能使用text 来做为主键,可以使用varchar 来替换
https://stackoverflow.com/questions/1827063/mysql-error-key-specification-without-a-key-length
6、id INTEGER PRIMARY KEY AUTO_INCREMENT NOT NULL DEFAULT 0
无效的默认值 。 int(10) UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT
7、Id VARCHAR(255) CONSTRAINT sqlite_autoindex_CaseInfo_1 PRIMARY KEY NOT NULL UNIQUE, 主键约束问题
mysql支持的key约束只有主键约束(PRIMARY KEY),唯一键值(UNIQUE KEY)约束和外键约束(FOREIGN KEY)
http://blog.csdn.net/luketty/article/details/5774797
8、关键字注意
比如 Key为mysql的关键字
http://blog.csdn.net/inaoen/article/details/24108969
9、BLOB/TEXT column 'Version' can't have a default value
Text无法设置默认值 见 :http://blog.csdn.net/gxk9933/article/details/6210132
原因在于: 1、 MYSQL5.x是不允许BLOB/TEXT类型的字段拥有默认值的。 2、 由于MYSQL是在‘strict mode’严格模式下工作的,如果改为非严格模式,上面的语句就可以执行成功 3、 MYSQL5.x在windows下是默认以‘strict mode’工作的,当执行上面的语句时,会给你一个错误或者警告信息 解决方法: 1、 找到mysql安装根目录下的my.ini文件 2、 找到这样一行: sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 3、 在其前面加‘#’将其注释掉: #sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 4、 重启mysql服务 5、 重新执行你的mysql语句