我正在尝试使用phpMyAdmin 2.8.0.1将30万行CSV文件导入MySQL。 gzipping后文件大小为8 MB。
我设法导入大约800 - 2000行,然后phpmyadmin抛出“csv中的无效字段计数”错误。
如果我从csv的开头删除这些行并尝试导入,phpmyadmin会设法导入之前抛出错误的同一行。
也许这与php设置有关?我应该改变哪些值?
答案 0 :(得分: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);
答案 1 :(得分:0)
你的php.ini可能有这样的默认设置
post_max_size = 8M
upload_max_filesize = 2M
将其更改为
post_max_size = 20M
upload_max_filesize = 20M
并重新启动您的服务。
答案 2 :(得分:0)
我建议尝试的第一件事是上传未压缩的CSV文件并查看其结果。您可能确实遇到了PHP资源限制,并且不需要首先解压缩该文件可能会有所帮助。