我正在使用mysqlimport来摄取csv文件。
这是我使用的命令:
mysqlimport --ignore-lines=1 --fields-terminated-by=, --columns=$COLUMNS --lines-terminated-by="\n" \
--verbose --local --fields-enclosed-by='"' --host=$HOST --port=$PORT \
--user=$USERNAME --password=$PASSWORD ${DATABASE} $FILE_PATH在启动进程之前,我截断了表,它没有任何唯一的索引。
源文件有7288362条记录(一开始我认为csv行可能包含新的行字符。我做了检查,但文件中没有引用新的行字符)。
然而,当mysqlimport完成时,它写着“记录: 7288300删除:0跳过:0警告: 43730142”。
当我登录mysql并从MyTable进行选择计数(*)时,它也给了我7288300。
有什么想法吗?
谢谢!
发布于 2016-10-31 16:27:12
我的csv文件中有这样的行:
1345235,62,"Theme From \Shaft\""""",,Chris Davis & Kim Waters,,,,,,5,0,,,,,,,,,,2016-10-28,,,,2016-10-28,,Y,,,,,,0,2016-10-28 09:09:39那里的多引号引起了一个问题。当我添加--fields-escaped-by=''时,它起了作用。
https://stackoverflow.com/questions/40334892
复制相似问题