2013-07-09 3 views
6

MySQL의 LOAD DATA INFILE을 사용하지만로드가 절반 밖에되지 않는 CSV 파일을로드 중입니다. 나는 다른 파일을 테스트했으며, 정확히 절반의 행이로드 될 것입니다. 모든 행을로드하려면 어떻게합니까?MySQL로드 데이터 infile 정확히 절반의 레코드로드

여기
CREATE TABLE IF NOT EXISTS `pa_class_posn_temp` (
    `ID` int(4) NOT NULL, 
    `POSN_CLASS_TITLE` varchar(36) DEFAULT NULL, 
    `SALARY_GRADE` varchar(4) DEFAULT NULL, 
    `POSN_CLASS_CODE` varchar(5) NOT NULL, 
    `RECRUITMENT_TIER` varchar(6) DEFAULT NULL, 
    `EXEMPT_NONEXEMPT` varchar(10) DEFAULT NULL, 
    `REVISED` varchar(10) DEFAULT NULL, 
    PRIMARY KEY (`ID`), 
    UNIQUE KEY `POSN_CLASS_CODE` (`POSN_CLASS_CODE`) 
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 

는 CSV 파일에 저장되는 매우 간단한 (두 행) 데이터 세트 (것이다 : 여기

LOAD DATA INFILE 
    'C:\\Users\\user\\Dropbox\\wamp\\www\\jobdesc\\data\\banp\\pa_class_posn.csv' 
    INTO TABLE pa_class_posn_temp 
    FIELDS TERMINATED BY ',' 
    OPTIONALLY ENCLOSED BY '"' 
    LINES TERMINATED BY '\n' 
    (ID,POSN_CLASS_TITLE,SALARY_GRADE,POSN_CLASS_CODE, 
    RECRUITMENT_TIER,EXEMPT_NONEXEMPT,REVISED); 

스키마이다 : 여기

는 LOAD 자료 INFILE의 SQL 인 1 행만로드됩니다) :

6682,"A D,Stdnt Hlth&Cnslg Bsn Ops","15","A7078","Tier 1","Exempt","04/19/2013" 
    7698,"AVP,Alumni Relations","17","N8004","Tier 2","Exempt","04/19/2013" 

각 행에 CR/LF 행 끝이 있지만 여기에서는 볼 수 없습니다. 또한 전체 데이터 세트에는 ID (중복 키)가 없으며 MySQL은 경고 나 오류를 생성하지 않습니다.

Windows 7에서 WAMP를 사용하고 있습니다. LOCAL 키워드를 사용할 수 없습니다.이 코드는 결국이 코드가 실행될 프로덕션 서버에서 작동하지 않기 때문입니다.

도움이나 의견을 보내 주시면 감사하겠습니다.

답변

7

Windows에서도 CSV 파일을 생성 했습니까? 그렇다면 사용해야 할 수도 있습니다. LINES TERMINATED BY '\r\n'

+3

'LINES TERMINATED BY'\ r \ n ''이 트릭을 수행했습니다. 나는 실종됐다. ** 감사합니다! ** – Grasshopper

+1

그게 그렇게 간단하다고 믿을 수 없습니다. 일했다! – openwonk