我有大约14000行的逗号分隔值的,我想插入使用PHP PDO,像这样一个SQLite表:的SQLite大量的插入使用PHP
<?php
// create a PDO object
$dbh = new PDO('sqlite:mydb.sdb');
$lines = file('/csv/file.txt'); // import lines as array
foreach ($lines as $line) {
$line_array = (','$line); // create an array of comma-separated values in each line
$values = '';
foreach ($line_array as $l) {
$values .= "'$l', ";
}
substr($values,-2,0); // get rid of the last comma and whitespace
$query = "insert into sqlite_table values ($values)"; // plug the value into a query statement
$dbh->query($query); // run the query
}
?>
这个查询需要很长的时间,并不中断地运行它,我将不得不使用PHP-CLI。 有没有更好的(更快)的方法来做到这一点?
这对我来说非常合适。我惊讶于它导入一切的速度有多快。谢谢。 – topmulch 2011-05-10 02:13:59
谢谢,你为我节省了很多时间! :) – Czechnology 2013-08-19 08:43:15
为了获得更多的速度,请使用与交易结合的准备工作。在可能影响实际查询的值的情况下,也会使事情更安全,例如引发意外的引号。 – 2015-06-23 10:31:40