2017-12-14 25 views
0

이전 레코드를 내보내는 데 mysqldump를 사용하고 있습니다. 그러나 덤프 파일에는 지정된 --where 조건보다 약간 더 많은 행이 있습니다. 내 테이블에 2905338 개의 행이 있습니다. 내 보낸 행은 635314 여야하지만 mysqldump는 134 행을 추가로 내보내고 있습니다.Mysqldump가 --where 조건보다 여분의 레코드를 내보내는 중

mysqldump table --no-create-db --no-create-info --skip-add-drop-table --skip-add-locks --skip-disable-keys --skip-set-charset --skip-triggers --where "created BETWEEN '2013-01-01 00:00:00' and '2016-12-01 00:00:00'"

이 조건보다 추가로 1 시간 행 수출된다. 다른 거대한 테이블에서도 마찬가지입니다.

+0

당신이 봤어 사용해보십시오'OUTFILE' INTO SELECT * 그렇습니다 경우, 결과는 무엇 이었습니까? –

+0

'--where "created> = '2013-01-01'을 시도하고 대신 <2016-12-01 '"'을 생성하십시오. 문자열의 끝에 아포스트로피를 추가했음을 유의하십시오. - 문자열이 부족합니다. –

+0

생성 된 열의 데이터 유형은 무엇입니까? DATETIME 또는 DATE? – andychukse

답변

0

mysqldump table --no-create-db --no-create-info --skip-add-drop-table --skip- 
add-locks --skip-disable-keys --skip-set-charset --skip-triggers --where 
"created >= '2013-01-01 00:00:00' and created <= '2016-12-01 00:00:00'" 
+0

입니다. TIME() 함수는 시간 소인의 시간 만 추출합니다. 이건 내 문제를 해결 못해. – bitsobits

+0

위 내용을 시도해보고 몇 가지 변경 사항을 적용했습니다. – andychukse