본문 바로가기
MySql

MySQL LOAD DATA INFILE을 사용하여 MySQL 테이블로 가져올 때 CSV 파일의 열을 건너 뛰는 방법은 무엇입니까?

by 베이스 공부 2020. 12. 12.
반응형

11 개의 열이있는 CSV 파일이 있고 9 개의 열이있는 MySQL 테이블이 있습니다.

CSV 파일은 다음과 같습니다.

col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11

MySQL 테이블은 다음과 같습니다.

col1, col2, col3, col4, col5, col6, col7, col8, col9

CSV 파일의 열 1-8을 MySQL 테이블의 처음 8 개 열에 직접 매핑해야합니다. 그런 다음 CSV 파일의 다음 두 열을 건너 뛰고 CSV 파일의 11 열을 MySQL 테이블의 9 열에 매핑해야합니다.

현재 다음 SQL 명령을 사용하고 있습니다.

LOAD DATA LOCAL INFILE 'filename.csv' INTO TABLE my_table
FIELDS TERMINATED BY ','
ENCLOSED BY ''
LINES TERMINATED BY '\n'

그러나 위의 코드는 CSV 파일의 처음 9 개 열을 MySQL 테이블의 9 개 열에 매핑합니다.

 

해결 방법

 


다음과 같이 입력 값을 삭제할 수도 있습니다. assigning it to a user variable and not assigning the variable to a table 기둥:

LOAD DATA INFILE 'file.txt'  
INTO TABLE t1 (column1, @dummy, column2, @dummy, column3);

 

참조 페이지 https://stackoverflow.com/questions/2139069

 

 

반응형

댓글