sqlite迁移到mysql的方法_MySQL
程序员文章站
2022-05-07 17:11:19
...
bitsCN.com
1.SQLite导出可以使用各种工具导出库,我使用FireFox的SQLite的管理插件SQLite Manager。 使用SQLite Manager插件打开数据库(.db .sqlite3)文件,选择导出。将整个库文件导出为.sql查询语句。 2.SQL语句兼容性修改
为了保证SQL语句的兼容,需要将SQLite的特有的格式,修改为MySQL的格式。下面为我总结的一般规则(下面的方括号应被忽略): 将 ["] 改为 [`]也可以移除全部的 ["] ,但是如果有一些函数名作为字段名(e.g. regexp)时将会遇到错误需要注意一些默认为 ["] ,其作用不在字段上的,不应被替换而应当被保留移除所有的 [BEGIN TRANSACTION] [COMMIT] 以及 任何包含 [sqlite_sequence] 的(整)行将所有 [autoincrement] 改为 [auto_increment]将所有 ['f'] 改为 ['0'] 并将所有 ['t'] 改为 ['1']或者['False']改为['0']及['True']改为['1']text字段不能设置unipue,需改为varchar(255)注意sqlite是不区分类型的,所以有些整形字段和text字段要修改配合mysql。默认设为CURRENT_TIMESTAMP的字段类型一定为TIMESTAMP。将修改完的文件保存。 3.MySQL导入 用顺手的工具导入就可以了。 作者 memorybox bitsCN.com
1.SQLite导出可以使用各种工具导出库,我使用FireFox的SQLite的管理插件SQLite Manager。 使用SQLite Manager插件打开数据库(.db .sqlite3)文件,选择导出。将整个库文件导出为.sql查询语句。 2.SQL语句兼容性修改
为了保证SQL语句的兼容,需要将SQLite的特有的格式,修改为MySQL的格式。下面为我总结的一般规则(下面的方括号应被忽略): 将 ["] 改为 [`]也可以移除全部的 ["] ,但是如果有一些函数名作为字段名(e.g. regexp)时将会遇到错误需要注意一些默认为 ["] ,其作用不在字段上的,不应被替换而应当被保留移除所有的 [BEGIN TRANSACTION] [COMMIT] 以及 任何包含 [sqlite_sequence] 的(整)行将所有 [autoincrement] 改为 [auto_increment]将所有 ['f'] 改为 ['0'] 并将所有 ['t'] 改为 ['1']或者['False']改为['0']及['True']改为['1']text字段不能设置unipue,需改为varchar(255)注意sqlite是不区分类型的,所以有些整形字段和text字段要修改配合mysql。默认设为CURRENT_TIMESTAMP的字段类型一定为TIMESTAMP。将修改完的文件保存。 3.MySQL导入 用顺手的工具导入就可以了。 作者 memorybox bitsCN.com
上一篇: Oracle 11g自动分析
下一篇: Oracle job不执行的分析处理
推荐阅读
-
MySQL 创建索引(Create Index)的方法和语法结构及例子
-
MySQL无法读表错误的解决方法(MySQL 1018 error)
-
MySQL远程连接不上的解决方法
-
使用Mysql5.x以上版本出现报错#1929 Incorrect datetime value: '' for column 'createtime'的快速解决方法
-
Python简单调用MySQL存储过程并获得返回值的方法
-
Mysql 5.7 忘记root密码或重置密码的详细方法
-
详解CentOS6.5 安装 MySQL5.1.71的方法
-
通过Navicat for MySQL远程连接的时候报错mysql 1130的解决方法
-
MySQL 5.7.9 服务无法启动-“NET HELPMSG 3534”的解决方法
-
windows mysql 自动备份的几种方法汇总