MySQL에는 탭 구분 된 파일에 쉼표가 포함되어 있습니다 (데이터 유입 데이터로드).

StackOverflow https://stackoverflow.com//questions/12699098

문제

여기에 특이한 시나리오가 있습니다. 저는 1,000 위의 가격 열이있는 열의 일부가있는 탭 구분 된 파일을 MySQL으로 가져 오려고합니다.가져 오기가 끝나면 쉼표 이후의 값은 제외되며 내 테이블에서 단 1로 끝납니다.동일한 결과를 가진 Linux 및 Windows 환경 모두에서 시도했습니다.

행 1의 경우 탭 구분 된 파일의 열 1은 값 1,564.50을 포함합니다. 1,564.50 내 MySQL 테이블에서 내 행 1 열 1에서 1로 끝납니다. 이것은 내가 사용하는 진술입니다.

LOAD DATA LOCAL INFILE 'blah.txt'
 INTO TABLE `table1`
 FIELDS TERMINATED BY '\t'
 OPTIONALLY ENCLOSED BY  ''''
 LINES TERMINATED BY '\n';
.

그래서 제 질문은입니다 1. 누군가가 이것을 확인하거나 내 끝에 뭔가를 놓치면이 동작을 어떻게 수정할 수 있습니까? 2. 이것이 MySQL 버그 인 경우 MySQL이 수정할 때까지 이러한 값을 올바르게 가져 오는 작업에 대한 내 옵션은 무엇입니까?

도움이 되었습니까?

해결책

Windows의 기본 구분 기호는 쉼표입니다.다른 문자로 변경하고 소스 데이터와 일치시킵니다.

기본 구분 기호를 변경하려면

제어판 -> 일부 언어 옵션 (또는 일부 컴퓨터의 날짜, 시간 및 지역 옵션 -> 지역 및 언어 옵션) -> 사용자 정의 버튼을 클릭하십시오.열리는 대화 상자에서 쉼표를 다른 문자로 변경할 수있는 "목록 구분 기호"에 대한 옵션과 옵션이 표시됩니다 -> 적용을 클릭 한 다음 확인을 클릭 한 다음 다시 적용하십시오.이제 Excel에 들어가서 CSV로 내보내기를 선택하면 새 문자가 구분 기호로 사용됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top