mysqlimport를 사용하여 csv 파일을 처리합니다. mysqlimport는 누락 된 행을 유지합니다.
이
내가 사용하는 명령입니다 : 나는 과정을 시작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 행에 줄 바꿈 문자가 포함될 수 있다고 생각했는데 검사를했으나 fileds에 줄 바꿈 문자는 없었습니다).
그러나 mysqlimport가 완료되면 "기록 : 7288300 삭제됨 : 0 건너 뛰기 : 0 경고 : 43730142"라고 표시됩니다.
나는 그것도 나에게 7288300.
어떤 아이디어를 준, MySQL의에 로그인을 MyTable에서 SELECT COUNT (*)를했을 때?
감사합니다.
행당 약 6 개의 경고를 받는다는 사실은 붉은 깃발입니다. 필드에 비해 너무 긴 문자열을로드하고 있거나 파일에 잘못된 날짜 문자열이 있거나 그와 유사한 내용이있을 수 있습니다. 난 당신의 파일에서 단지 첫 번째 줄의 복사본을 만들고 테이블의 복사본으로 가져올려고. 그런 다음 표의 선과 데이터를보고 차이점을 확인하십시오. –
코멘트 주셔서 감사합니다! 실제로 나는 그것이이 종류의 선들에 의해 야기되었다는 것을 발견했습니다 - 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. 보시다시피, 여러 개의 큰 따옴표가 있고 제대로 이스케이프 처리되지 않았습니다. 어떤 생각이 있습니까? – milodky