我正在尝试使用 phpMyAdmin 2.8.0.1 将 300 000 行 CSV 文件导入 MySQL。gzip 压缩后文件大小为 8 MB。
我设法导入大约 800 - 2000 行,之后 phpmyadmin 抛出“csv 中的无效字段计数”错误。
如果我从 csv 的开头删除这些行并尝试导入,phpmyadmin 会设法导入之前引发错误的同一行。
也许这与php设置有关?我应该改变哪些价值观?
我正在尝试使用 phpMyAdmin 2.8.0.1 将 300 000 行 CSV 文件导入 MySQL。gzip 压缩后文件大小为 8 MB。
我设法导入大约 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
并重新启动您的服务。
我建议尝试的第一件事是上传未压缩的 CSV 文件,看看情况如何。您可能确实遇到了 PHP 资源限制并且不需要先解压缩文件可能会有所帮助。