MySQL로 CSV 가져오기에서 열 건너뛰기
LOAD DATA INFILE 명령을 사용하여 CSV 파일을 MySQL 테이블로 가져올 때 일반적으로 다음이 발생합니다. CSV 파일의 열 수가 대상 테이블의 열 수와 다른 시나리오가 발생합니다. 이러한 경우 특정 열을 건너뛰는 것이 필요합니다.
문제:
11개의 열이 있는 CSV 파일과 9개의 열만 있는 MySQL 테이블이 있다고 가정합니다. CSV 파일의 1-8열을 테이블의 1-8열에 직접 매핑하고 싶지만 다음 두 열을 건너뛰고 CSV 파일의 11열을 테이블의 9열에 매핑하려고 합니다.
해결책:
가져오기 프로세스 중에 열을 건너뛰려면 사용자 변수를 테이블에 삽입하지 않고 사용자 변수에 값을 할당하는 MySQL의 기능을 활용할 수 있습니다. 열. 이는 건너뛴 열을 사용자 변수에 할당하고 해당 값을 효과적으로 무시함으로써 달성됩니다.
원하는 매핑을 수행하는 수정된 SQL 명령은 다음과 같습니다.
LOAD DATA LOCAL INFILE 'filename.csv' INTO TABLE my_table FIELDS TERMINATED BY ',' ENCLOSED BY '' LINES TERMINATED BY '\n' (column1, @dummy1, column2, @dummy2, column3, column4, column5, column6, column7, column8, @dummy3, column9);
이 수정된 명령에서는 두 명의 사용자가 변수(@dummy1 및 @dummy2)는 각각 CSV 파일의 9번째 및 10번째 열 값을 캡처하는 데 사용되지만 이러한 값은 어떤 테이블에도 할당되지 않습니다. 열. 결과적으로, 효과적으로 건너뛰어 CSV 파일의 열 11이 테이블의 열 9에 올바르게 매핑될 수 있습니다.
위 내용은 CSV를 MySQL로 가져오는 동안 열을 건너뛰는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!