Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 使用sql将大型csv文件导入phpmyadmin时出现的问题_Mysql_Csv_Phpmyadmin - Fatal编程技术网

Mysql 使用sql将大型csv文件导入phpmyadmin时出现的问题

Mysql 使用sql将大型csv文件导入phpmyadmin时出现的问题,mysql,csv,phpmyadmin,Mysql,Csv,Phpmyadmin,我有一个大的(大约20MB)csv文件,我正试图导入数据库中的一个表中。该文件有78000多行和26列。我只需要前几列。我在phpmyadmin中的sql终端中输入以下代码: LOAD DATA INFILE 'path to my file/myfile.csv' REPLACE INTO TABLE mytable FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' IGNORE 1 LINES (id, name, @dummy, @

我有一个大的(大约20MB)csv文件,我正试图导入数据库中的一个表中。该文件有78000多行和26列。我只需要前几列。我在phpmyadmin中的sql终端中输入以下代码:

LOAD DATA INFILE 'path to my file/myfile.csv' 
REPLACE INTO TABLE mytable
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '\"'
IGNORE 1 LINES
(id, name, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy, @dummy)
它给出了一条成功的消息,上面说:“插入156306行(查询耗时8.2870秒)。”这正好是该文件的行数的两倍


我进去浏览表,看看发生了什么,phpmyadmin的浏览窗口显示那里只有13264条记录。成功导入的行工作正常。因为我使用替换来消除重复,所以我期望的行数远少于78k行,但许多情况下都丢失了。知道是什么导致了这个问题吗?我以前从未经历过这种情况……

使用记事本或任何其他文本编辑器更改此文件的值
C:/xampp/mysql/bin/my.cnf
。尝试导入csv文件后,根据需要增加
max\u allowed\u packet
。再次完整文档复制打开新文档粘贴并保存。不要另存为页面

编辑
/etc/php5/apache2/php.ini
,将
upload\u max\u filesize
post\u max\u size
设置为150M,然后重新启动Apache。不幸的是,这似乎不是解决方案。默认情况下,允许的最大数据包设置为1M。我将其更改为500M,重新启动mysql,然后再次尝试查询。它用了40秒而不是8秒,但结果完全相同。然后我将其更改为999M,重新启动并重试。这次用了44秒,同样的结果。