Mysql 由于文件头信息导致加载数据本地加密1064错误?

Mysql 由于文件头信息导致加载数据本地加密1064错误?,mysql,mysql-error-1064,mysqlimport,Mysql,Mysql Error 1064,Mysqlimport,我的MySQL版本(Ubuntu 10.04上的5.1.63版)出现了一个非常奇怪的错误。这是我使用的语句 LOAD DATA LOCAL INFILE '/home/file/path/file.csv' INTO TABLE tbl_abc FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '\n' IGNORE 1 LINES (`field1`,`field2`,`field3`,`field4`,`field5

我的MySQL版本(Ubuntu 10.04上的5.1.63版)出现了一个非常奇怪的错误。这是我使用的语句

LOAD DATA LOCAL INFILE '/home/file/path/file.csv' INTO TABLE tbl_abc
FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '\n' 
IGNORE 1 LINES (`field1`,`field2`,`field3`,`field4`,`field5`,`field6`);
因此,输入此命令后,我收到以下响应:

ERROR 1064 (42000) at line 1: You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for the right syntax 
to use near ',,,,laworkfo ftpd27018    173-9-6-225-NewE 
Thu Apr  2 06:30 - 06:30  (00:00)    ' at line 1
奇怪的是,这些数据都不在我能找到的任何地方。我假定它是某种文件头或文件属性,但我不能肯定这一点。无论如何,我认为通过添加“忽略1行”可以或应该消除这种情况,但事实并非如此。我试过“忽略2行”、“忽略3行”、“忽略100行”等,但似乎没有任何效果

我也尝试过使用其他行分隔符,如“\r\n”等,但仍然无效


如有任何帮助,将不胜感激。

此命令的正确格式为 将数据填充“/home/file/path/file.csv”加载到表tbl_abc(col1,col2,…)中

在列列表中,我相信末尾缺少一个结束括号


如果输入文件中字段的顺序与表中列的顺序不同,则可以指定列列表。否则,MySQL无法告诉您如何将输入字段与表列匹配。

如果您将其直接放入sql,则不必转义,因此请尝试以下方法:

ENCLOSED BY '"'
改变这个

LINES TERMINATED BY '\n' 
对此

LINES TERMINATED BY '\r\n' 
也要改变这一点

FIELDS TERMINATED BY ';'
并且仅当csv位于安装数据库的服务器之外时才使用本地示例(否则使用

LOAD DATA INFILE

这似乎不是一个完整的命令,我想你的错误就在这里(
field1
field2
field3
field4
field5
field6
;不要大声喊叫,大家都想睡觉了——这是一个打字错误(在整夜工作之后)。它应该读到
(field1,field2,field3,field4,field5,field6);
EJP-我没有叫喊。按照我以前的学校惯例,我总是大写MySQL命令和关键字来区分它和输入参数。:-)你的标题中有一半以上是错误信息,它肯定不是大写的。是的,今天早上我键入时,右括号只是一个打字错误。我指定了列列表,因为输入文件中字段的顺序与列的顺序不同。你的建议都不起作用,也不正确虽然我很感激你的回复,但是我已经得到了任何不同的结果。像这样添加替换如何将数据本地填充'/home/file/path/file.csv'替换加载到表tbl_abc中