为了账号安全,请及时绑定邮箱和手机立即绑定

sqlite3数据库单表转存mysql数据库

标签:
PHP MySQL

      本代码属于单表转换,在开始转换之前,假设你已经对应sqlite3数据的某张表在mysql数据库中建立相同名称的表和列,这里假设表中的列为,colname1,colname2,colname3...


<?php     //设置php执行时间无限制    set_time_limit(0);     

//sqlite3 config  

//请注意sqlite3数据库使用sqlite方法去操作会报错    

//提示是一个加密文件或者不是一个数据库    //这里使用PDO驱动来连接和查询sqlite3数据库    

//将sqlite3数据库与该脚本页面放在同目录    

define('CONNECTSTRING'"sqlite:".dirname(__FILE__)."/sqlite3_db_name.db");    

//这里的sqlite3数据库连接用户名和密码随意写,因为创建sqlite3数据库时没有密码    

//如果创建时有密码,请根据设置密码修改成正确值    

define('USERNAME''username');     

define('PASSWORD''password');    

define('CHARSET','SET NAMES utf8');    

//mysql config    $db='localhost';    

$user='usernmae';    

$pass='password';    

$dbname='mysql_db_name';    

//sqlite connection    

$dbh=null;    

if($dbh=new PDO(CONNECTSTRING, USERNAME, PASSWORD, array(PDO::MYSQL_ATTR_INIT_COMMAND => CHARSET))){        

$dbh->beginTransaction();        

//设置内存无限制,如果机器配置较高可以这么设置        

ini_set('memory_limit''-1');        

$sth $dbh->prepare('SELECT * FROM sqlite3_table_name');        

$sth->execute();        

//查询结果,得到一个数组        

$result $sth->fetchAll();        

//打开mysql,准备插入        

$conn=mysql_connect($db,$user,$passor die("conn error");        

//设置操作mysql数据库的编码        

mysql_query("set names 'utf8'");        

mysql_select_db($dbname);        

foreach($result as $row){            

$sql="";            

$sql="INSERT INTO mysql_db_name(colname1,colname2,colname3) VALUES('";            

$sql=$sql.$row['colname1']."','".$row['colname2']."','".$row['colname3']."')";            

mysql_query($sql);        

}        

mysql_close($conn);        

//相当于关闭sqlite3数据库        

$dbh=null;    

}          

?>

      新手可以看看,高手勿喷,谢谢。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消