我在将数据加载到表的特定列时遇到问题。 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'
终止的线路
有人知道我做错了吗?
答案 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