2014-12-20 2 views
0

약 40,000,000 개의 행이있는 mysql (xampp)에 테이블을로드했습니다. 약 6,000,000 개의 행이있는 다른 테이블을 작성하고이를 사용하여 csv 파일로 내 보냅니다 :MySQL의 csv 파일로 테이블을 내보내는 행 수가 다릅니다

(SELECT ...) 
UNION 
(SELECT ... 
FROM ctr_train0 
INTO OUTFILE 'C:/.../file.csv' 
FIELDS ENCLOSED BY '"' TERMINATED BY ',' ESCAPED BY '"' 
LINES TERMINATED BY '\n'); 

오류가 없지만이 명령은 원본 테이블보다 약 200,000 행 적은 csv 파일을 만듭니다. 어떻게됩니까? 6,000,000 개의 행을 모두 내보내려면 어떻게해야합니까?. 미리 감사드립니다.

답변

0

제한된 정보가 주어지면 가장 좋은 추측은 union입니다. 이렇게하면 출력물에서 중복 된 내용이 제거되고 테이블 사이에 테이블과 사이에 중복 테이블이 모두 테이블 내에 있습니다. 따라서 데이터에 중복 된 데이터가 있으면이 데이터가 제거됩니다.

대신 union all으로 쿼리를 실행 해보십시오 :

(SELECT ...) 
UNION ALL 
(SELECT ... 
FROM ctr_train0 
INTO OUTFILE 'C:/.../file.csv' 
FIELDS ENCLOSED BY '"' TERMINATED BY ',' ESCAPED BY '"' 
LINES TERMINATED BY '\n'); 
+0

을 그것은 일, 대단히 감사합니다 –

관련 문제