我試圖用phpMyAdmin 2.8.0.1將300 000行的CSV文件導入到MySQL。 gzipping後文件大小爲8 MB。如何導入CSV到phpMyAdmin?
我設法導入約800 - 2000行,之後phpmyadmin拋出一個「csv無效字段計數」錯誤。
如果我從csv的開頭刪除這些行並嘗試導入,phpmyadmin設法導入之前拋出錯誤的同一行。
也許這與php的設置有關?我應該更改哪些值?
我試圖用phpMyAdmin 2.8.0.1將300 000行的CSV文件導入到MySQL。 gzipping後文件大小爲8 MB。如何導入CSV到phpMyAdmin?
我設法導入約800 - 2000行,之後phpmyadmin拋出一個「csv無效字段計數」錯誤。
如果我從csv的開頭刪除這些行並嘗試導入,phpmyadmin設法導入之前拋出錯誤的同一行。
也許這與php的設置有關?我應該更改哪些值?
使用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);
它可能可能是您的php.ini有這樣
post_max_size = 8M
upload_max_filesize = 2M
其更改爲默認設置
post_max_size = 20M
upload_max_filesize = 20M
並重新啓動您的服務。
這些已經在20M。然而phpmyadmin說max:10,240 KB – resu1
我覺得,你在一個共享主機中,沒有root權限或者訪問你的php.ini配置文件,那麼另一種方法是在你的應用程序根目錄下創建一個.htaccess文件並添加以下行 php_value upload_max_filesize 20M php_value post_max_size 20M –
我建議嘗試的第一件事就是上傳未壓縮的CSV文件,看看結果如何。您可能確實遇到了PHP資源限制,並且不需要首先解壓文件可能會有所幫助。
對我來說LOAD INFILE只獲得第一行。我根據我的CSV設置了所有參數。 – resu1
順便說一下,phpMyAdmin也支持LOAD DATA(這是下拉選項之一)。 –
直接從命令行執行此操作的示例:http://stackoverflow.com/questions/11430223/import-large-csv-file-using-phpmyadmin/11430498#11430498 –