2012-01-21 5 views
0

나는 이진 타입의 컬럼을 가진 테이블을 가지고있다. mysql & select into OUTFILE - 이진 데이터를 파일에 쓰는 것

---------------+---------+----------+-------------+ 
| appid | imei    | request_timestamp | city_id | state_id | country_id | 
+-------+------------------+-------------------+---------+----------+------------+-----------+ 
| 45861 | 101111000110  |  1327119595 |  700 |  43 |   5  | 
| 93502 | 1000011001010 |  1327119595 |  305 |  490 |   9 |  | 
+-------+------------------+-------------------+---------+----------+------------+------- 

SELECT * INTO OUTFILE 'test.txt' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED 
BY '\n' FROM log_track_tbl_382 ,the csv file has data in the form 

45861,"101111000110\0\0\0\0",1327119595,700,43,5 
93502,"1000011001010\0\0\0",1327119595,305,490,9 

바이너리 열

는 적절한 형식 TXT 파일에 기록되지 않는다. 파일에서 바이너리 데이터를 보존하기 위해 적절한 mysql 명령을 제안 할 수 있습니까? mysql 프롬프트에서이 명령을 실행할 때

+5

이 형식의 극악을 수정하십시오. 너무 커서 화면에 맞지 않으면 포함될 수 없을 수도 있습니다. 문제를 예증하는 최소한의 사례로 사례를 단순화하십시오. (자신의 디버깅에도 도움이 될 수 있습니다!) –

+1

"적절한 형식이 아님"을 의미하는 것으로 정의하십시오. 당신은 무엇을 얻고 당신은 무엇을 기대합니까? – deceze

+0

바이너리 현재 데이터 mysql은 텍스트 파일에서 동일하지 않습니다. 테이블에있는 열 값은 101111000110이고 텍스트 파일에서는 101111000110 \ 0 \ 0 \ 0 \ 0입니다. –

답변

3

OUTFILE 대신 DUMPFILE을 사용하십시오.

이 옵션을 OUTFILE 이상으로 선택하면 쿼리 결과가 열 또는 줄 종결을 생략하고 한 줄로 기록됩니다. 그래픽 또는 Word 파일과 같은 이진 데이터를 내보낼 때 유용합니다. 이진 파일을 내보낼 때 OUTFILE을 선택할 수 없거나 파일이 손상 될 수 있습니다.

쿼리는 DUMPFILE 쿼리가 단일 행을 대상으로해야한다는 것을 의미합니다. 두 바이너리 파일의 출력을 결합하는 것은 의미가 없으므로 시도하면 오류가 반환됩니다.

관련 문제