我正在使用 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 文件中(只会加载 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 关键字,因为这在此代码最终将存在的生产服务器上不起作用。
非常感谢任何帮助或建议。