我有一个大的(大约20MB)csv文件,我试图导入到我的数据库中的表中。该文件有超过78,000行和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)
它提供了一条成功的消息,其中说明了插入了#156; 156306行。 (查询花了8.2870秒。)"这正是文件行数的两倍。
我进去浏览桌子,看看发生了什么,phpmyadmin的浏览窗口显示那里只有13264条记录。成功导入的行完美运行。由于我使用替换来消除重复,我预计远远少于78k行,但很多情况都缺失了。知道什么可能导致这个问题吗?我以前从没经历过这个......
答案 0 :(得分:0)
使用记事本或任何其他文本编辑器更改此文件C:/xampp/mysql/bin/my.cnf
上的值。尝试导入csv文件后,根据需要增加max_allowed_packet
。再次完整文档复制打开新文档粘贴并保存。不要保存为页面。