2013-10-23 155 views
1

我試圖用phpMyAdmin 2.8.0.1將300 000行的CSV文件導入到MySQL。 gzipping後文件大小爲8 MB。如何導入CSV到phpMyAdmin?

我設法導入約800 - 2000行,之後phpmyadmin拋出一個「csv無效字段計數」錯誤。

如果我從csv的開頭刪除這些行並嘗試導入,phpmyadmin設法導入之前拋出錯誤的同一行。

也許這與php的設置有關?我應該更改哪些值?

回答

1

使用LOAD INFILE函數代替phpMyAdmin - 它也管理更大的CSV文件。 (具有約350.000線條使得它沒有問題。)

PHP實例:

$sql = "LOAD DATA LOCAL 
INFILE 'test.csv' 
INTO TABLE my_table 
FIELDS 
     TERMINATED BY ',' 
     OPTIONALLY ENCLOSED BY '\"';"; 
$insert = mysql_query($sql); 
+0

對我來說LOAD INFILE只獲得第一行。我根據我的CSV設置了所有參數。 – resu1

+0

順便說一下,phpMyAdmin也支持LOAD DATA(這是下拉選項之一)。 –

+0

直接從命令行執行此操作的示例:http://stackoverflow.com/questions/11430223/import-large-csv-file-using-phpmyadmin/11430498#11430498 –

0

它可能可能是您的php.ini有這樣

post_max_size = 8M 
upload_max_filesize = 2M 

其更改爲默認設置

post_max_size = 20M 
upload_max_filesize = 20M 

並重新啓動您的服務。

+0

這些已經在20M。然而phpmyadmin說max:10,240 KB – resu1

+0

我覺得,你在一個共享主機中,沒有root權限或者訪問你的php.ini配置文件,那麼另一種方法是在你的應用程序根目錄下創建一個.htaccess文件並添加以下行 php_value upload_max_filesize 20M php_value post_max_size 20M –

0

我建議嘗試的第一件事就是上傳未壓縮的CSV文件,看看結果如何。您可能確實遇到了PHP資源限制,並且不需要首先解壓文件可能會有所幫助。