我有大約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