温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2020-07-01 10:09:18 来源:网络 阅读:685 作者:zqy4435 栏目:数据库

      本代码属于单表转换,在开始转换之前,假设你已经对应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,$pass) or 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;
    }
    
    
?>

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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI