7

MySQL の LOAD DATA INFILE を使用して CSV ファイルをロードしていますが、半分の行しかロードされません。さまざまなファイルをテストしましたが、毎回ちょうど半分の行がロードされます。すべての行をロードするにはどうすればよいですか?

LOAD DATA INFILE SQL は次のとおりです。

    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); 

スキーマは次のとおりです。

   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 ファイルに保存されている非常に単純な (2 行の) データ セットです (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 キーワードは使用できません。これは、このコードが最終的に存在する運用サーバーでは機能しないためです。

どんな助けや提案も大歓迎です。

4

2 に答える 2