本代码属于单表转换,在开始转换之前,假设你已经对应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; } ?>
新手可以看看,高手勿喷,谢谢。
原文链接:https://www.f2er.com/sqlite/198799.html