2014-05-15 3 views
0

테이블의 모든 데이터를 CSV 파일로 가져 오는이 간단한 쿼리를 작성했습니다.MySQL INTO OUTFILE 쿼리 문제

SELECT Group_concat(Concat(column_name)) 
FROM information_schema.columns 
WHERE table_name = 'subject_assignment' 
     AND table_schema = 'newschema2' 
UNION ALL 
SELECT (SELECT Group_concat('`', column_name, '`') 
     FROM information_schema.columns 
     WHERE table_name = 'subject_assignment' 
       AND table_schema = 'newschema2') 
FROM subject_assignment 
INTO OUTFILE 'D:\\export\\asd.csv' 

이제 첫 번째 비트는 훌륭하게 작동하지만 두 번째 부분에는 문제가 있습니다. 열 목록에 지정된 열에서 데이터를 꺼내지 않고 모든 열 이름을 반복해서 표시합니다.

내가 잘못하고있는 것을 제발 제안 해 주시겠습니까?

감사합니다.

답변

0

두 번째 선택에서는 subject_assignment에서 열을 선택하지 않습니다. 대신, 연결된 열 이름으로 단일 문자열 값을 선택합니다. 행 수인 subject_assignment만큼 선택하면됩니다.

UPDATE :

동적으로 열 이름을 생성 한 다음 데이터를 선택하려면이를 참조하십시오 https://stackoverflow.com/a/17573774/925196 나는 동적으로 다음 열 이름을 지정할 수있는 방법

+0

? CSV 파일에서 정보를 추출해야하는 약 80 개의 테이블이 있으며 두 번째 선택에서 동적으로 열 이름을 지정하는 방법을 찾고 싶습니다. –

+0

@ user2110925, 답변을 업데이트했습니다. –

+0

감사합니다. Grzegorz. 그건 속임수 야. –

관련 문제