Sqllite表结构导入Mysql库

这篇博客详细介绍了如何将SQLite数据库的表结构导出并转换为MySQL兼容的格式,包括修改索引语句、处理表名符号、解决datetime默认值问题、主键和唯一索引的调整、关键字冲突等关键步骤,确保顺利导入MySQL。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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.youkuaiyun.com/luketty/article/details/5774797

8、关键字注意

  比如 Key为mysql的关键字

http://blog.youkuaiyun.com/inaoen/article/details/24108969

9、BLOB/TEXT column 'Version' can't have a default value

   Text无法设置默认值   见 :http://blog.youkuaiyun.com/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语句


......体力活。。。。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值