加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

sqlite3数据库单表转存mysql数据库(PHP代码)

发布时间:2020-12-12 19:29:05 所属栏目:百科 来源:网络整理
导读:本代码属于单表转换,在开始转换之前,假设你已经对应sqlite3数据的某张表在mysql数据库中建立相同名称的表和列,这里假设表中的列为,colname1,colname2,colname3... ?php//设置php执行时间无限制set_time_limit(0);//sqlite3config//请注意sqlite3数据库使

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

<?php
//设置php执行时间无限制
set_time_limit(0);
//sqlite3config
//请注意sqlite3数据库使用sqlite方法去操作会报错
//提示是一个加密文件或者不是一个数据库
//这里使用PDO驱动来连接和查询sqlite3数据库
//将sqlite3数据库与该脚本页面放在同目录
define('CONNECTSTRING',"sqlite:".dirname(__FILE__)."/sqlite3_db_name.db");
//这里的sqlite3数据库连接用户名和密码随意写,因为创建sqlite3数据库时没有密码
//如果创建时有密码,请根据设置密码修改成正确值
define('USERNAME','username');
define('PASSWORD','password');
define('CHARSET','SETNAMESutf8');
//mysqlconfig
$db='localhost';
$user='usernmae';
$pass='password';
$dbname='mysql_db_name';
//sqliteconnection
$dbh=null;
if($dbh=newPDO(CONNECTSTRING,USERNAME,PASSWORD,array(PDO::MYSQL_ATTR_INIT_COMMAND=>CHARSET))){
$dbh->beginTransaction();
//设置内存无限制,如果机器配置较高可以这么设置
ini_set('memory_limit','-1');
$sth=$dbh->prepare('SELECT*FROMsqlite3_table_name');
$sth->execute();
//查询结果,得到一个数组
$result=$sth->fetchAll();
//打开mysql,准备插入
$conn=mysql_connect($db,$user,$pass)ordie("connerror");
//设置操作mysql数据库的编码
mysql_query("setnames'utf8'");
mysql_select_db($dbname);
foreach($resultas$row){
$sql="";
$sql="INSERTINTOmysql_db_name(colname1,colname3)VALUES('";
$sql=$sql.$row['colname1']."','".$row['colname2']."','".$row['colname3']."')";
mysql_query($sql);
}
mysql_close($conn);
//相当于关闭sqlite3数据库
$dbh=null;
}


?>

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读