用户
 找回密码
 入住 CI 中国社区
搜索
查看: 3616|回复: 3
收起左侧

[数据库] mysql 到 sqlite的迁移

[复制链接]
发表于 2012-7-19 14:38:57 | 显示全部楼层 |阅读模式
首先肯定是数据转移  sqlite版本是2使用Navicat Premium 里面的数据传输
建立连接 MYSQL 的一个  SQLITE的一个  最后数据传输就可以了这样数据就传过去了
不过还是会有一点问题的 就是每个ID自增长没了 需要手动把每个表的ID 选入自增长

这样数据迁移完成  
接下里就是database的配置
把驱动 $db['default']['dbdriver'] = 'sqlite';  改成sqlite
$db['default']['database'] = './data/ceshi.sdb';  把数据库改成位置
把username  和 password 情况
host 改成localhost
这样数据库配置也就完成了

但是使用db->like 会出现like '%%' escape !  多了escape !  会执行出错
更改system/database/drives/sqlite/sqlite_driver.php  中
var $_like_escape_str = "";
var $_like_escape_chr = '';

使上面两个参数变为空
这样就可以了


红色部分 还是待高人提出更好的解决办法


发表于 2012-7-19 15:15:35 | 显示全部楼层
看样子是个bug。
发表于 2012-7-19 16:38:37 | 显示全部楼层
sqlite 跟 mysql 的语法 可不完全相同啊…… 不会有问题吧
发表于 2012-7-22 21:50:54 | 显示全部楼层
理论上从mysql到sqlite,问题不大,从sqlite到mysql,问题到是多多。
自增字段的失灵,试试
$db['default']['autoinit'] = TRUE;
like操作的bug,试试
$db['default']['stricton'] = TRUE;

本版积分规则