(MySQL)加载数据infile特定列

时间:2015-01-20 08:58:47

标签: mysql

我在将数据加载到表的特定列时遇到问题。 CSV文件是动态构建的,默认字段ID为LAST_REFRESH,ALIAS1, 可能包含 ALIAS2到ALIAS8。当前CSV仅包含ALIAS1-4

MySQL表包含列ID,LAST_REFRESH,ALIAS1-ALIAS8。 我的第一个文件的代码已经失败。设置变量后的代码是:

LOAD DATA LOCAL INFILE 'C:\\temp\\\OSS001'
INTO TABLE REJECTS (ID, REFRESH_DATE, ALIAS1, ALIAS2, ALIAS3, ALIAS4)
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES

但遗憾的是我仍然收到以下错误:

  

您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,以便在“FIELDS TERMINATED BY'”附近使用正确的语法。       选择性地包含在'"'       由' \ n'

终止的线路

有人知道我做错了吗?

2 个答案:

答案 0 :(得分:11)

必须最后指定列名。阅读更多相关信息here

LOAD DATA LOCAL INFILE 'C:\\temp\\\OSS001'
INTO TABLE REJECTS 
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(ID, REFRESH_DATE, ALIAS1, ALIAS2, ALIAS3, ALIAS4, ALIAS5, ALIAS6, ALIAS7, ALIAS8)

答案 1 :(得分:2)

删除列:

LOAD DATA LOCAL INFILE 'C:\\temp\\\OSS001'
INTO TABLE REJECTS FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES