如何将 CSV 导入 phpMyAdmin?
Posted
技术标签:
【中文标题】如何将 CSV 导入 phpMyAdmin?【英文标题】:How to import CSV to phpMyAdmin? 【发布时间】:2013-11-01 16:45:39 【问题描述】:我正在尝试使用 phpMyAdmin 2.8.0.1 将 300 000 行的 CSV 文件导入 mysql。压缩后文件大小为 8 MB。
我设法导入了大约 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);
【讨论】:
对我来说 LOAD INFILE 只获取第一行。我根据我的 CSV 设置所有参数。 顺便说一下,phpMyAdmin 也支持 LOAD DATA(它是下拉选项之一)。 直接从命令行执行此操作的示例:***.com/questions/11430223/…【参考方案2】:你的 php.ini 可能有这样的默认设置
post_max_size = 8M
upload_max_filesize = 2M
把它们改成
post_max_size = 20M
upload_max_filesize = 20M
并重新启动您的服务。
【讨论】:
这些已经是 20M。但是 phpmyadmin 说 max: 10,240 KB 我感觉,你是在共享主机中,没有root访问权限或访问你的php.ini配置文件,那么另一种方法是在你的应用程序root中创建一个.htaccess文件并添加以下行 php_value upload_max_filesize 20M php_value post_max_size 20M【参考方案3】:我建议尝试的第一件事是上传未压缩的 CSV 文件,看看效果如何。您可能确实遇到了 PHP 资源限制并且不需要先解压缩文件可能会有所帮助。
【讨论】:
以上是关于如何将 CSV 导入 phpMyAdmin?的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 phpmyadmin 将 csv 文件导入 mysql
如何将包含 1 列的 phpmyadmin 的 csv 文件导入到我的 mysql 数据库中?