Mysql 使用sql将大型csv文件导入phpmyadmin时出现的问题
我有一个大的(大约20MB)csv文件,我正试图导入数据库中的一个表中。该文件有78000多行和26列。我只需要前几列。我在phpmyadmin中的sql终端中输入以下代码: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, @
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秒,同样的结果。