문제:
빈 필드가 있는 CSV 파일에서 데이터를 로드하는 경우 LOAD DATA INFILE 명령을 사용하여 MySQL 테이블에 추가하면 MySQL은 NULL 대신 빈 필드에 0을 할당합니다. 열이 NULL 기본값으로 정의되었습니다.
해결책:
빈 필드에 대한 NULL 값을 올바르게 로드하려면 문제가 있는 필드를 로컬 변수로 읽어온 다음 조건부로 설정합니다. 변수가 다음과 같은 경우 실제 필드 값은 NULL이 됩니다. 비어 있음:
LOAD DATA INFILE '/tmp/testdata.txt' INTO TABLE moo FIELDS TERMINATED BY "," LINES TERMINATED BY "\n" (one, two, three, @vfour, five) SET four = NULLIF(@vfour,'') ;
설명:
추가 참고 사항:
모든 필드가 비어 있을 수 있는 경우에는 모두 로컬 변수로 읽고 여러 필드를 사용합니다. NULL 값을 조건부로 할당하는 SET 문입니다.
위 내용은 LOAD DATA INFILE을 사용하여 CSV에서 MySQL로 0이 아닌 NULL 값을 로드하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!