要創建一個sqlite3的數據庫,並從PHP外部CSV文件,我跑插入值:導入CSV文件導入的SQLite3從PHP
$db=new SQLite3("QNH.sqlite");
$q="CREATE TABLE IF NOT EXISTS QNH(id INTEGER PRIMARY KEY,unixtimeutc INTEGER,stationqnh TEXT)";
$db->exec($q);unset($regel);$id=0;
if(($fp=fopen("QNH.csv","r"))!==false)
{while(($regel=fgetcsv($fp,32,","))!==false)
{$id++;
$q="INSERT INTO QNH VALUES('".$id."','".$regel[0]."','".$regel[1]."')";
$db->exec($q);}}
$v=fclose($fp);$db->close();
它的工作原理...但可笑和unuseably慢,命中60在完成之前秒完成。 只有總計105132加入了733行。 按照這個速度它需要> 143分鐘。 高清做了很多事情。 這顯然不是這樣做的方式。 我知道如何創建數據庫並在SQLite3命令提示符處導入CSV文件,這在幾秒鐘內就可以工作,但我需要從PHP腳本執行此操作。 我到處尋找,但找不到特定於SQLite3和PHP的任何東西。 任何想法?
「我知道如何創建數據庫並在SQLite3命令提示符處導入CSV文件,這在幾秒鐘內就可以工作」您可以從php – 2016-03-14 22:52:33
調用命令提示符您也可以執行多次插入,如下所示:http: //sackoverflow.com/questions/1609637/is-it-possible-to-insert-multiple-rows-at-a-time-in-an-sqlite-database(如果這適用於你的用例) –