mysqlimport 不断丢失行
mysqlimport keeps missing rows
我正在使用 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
在开始该过程之前,我截断了 table,它没有任何唯一索引。
源文件有7288362条记录(一开始我以为csv行可能包含换行符,我查了一下,文件中没有引用换行符)。
然而,当 mysql 导入完成时,它说 "Records: 7288300 Deleted: 0 Skipped: 0 Warnings: 43730142"。
当我登录 mysql 并从 MyTable 进行 select 计数 (*) 时,它也给了我 7288300。
有什么想法吗?
谢谢!
我的 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=''
时,它起作用了。
我正在使用 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
在开始该过程之前,我截断了 table,它没有任何唯一索引。
源文件有7288362条记录(一开始我以为csv行可能包含换行符,我查了一下,文件中没有引用换行符)。
然而,当 mysql 导入完成时,它说 "Records: 7288300 Deleted: 0 Skipped: 0 Warnings: 43730142"。
当我登录 mysql 并从 MyTable 进行 select 计数 (*) 时,它也给了我 7288300。
有什么想法吗?
谢谢!
我的 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=''
时,它起作用了。