如何忽略CSV文件的最后五行使用"加载数据infile"

时间:2014-11-03 02:17:35

标签: php mysql csv file-upload

下面的代码忽略前五行,但我想忽略我的CSV文件的最后五行

$query = <<<eof
LOAD DATA LOCAL INFILE '$fname'
 INTO TABLE rawdata_01
 FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"'
 LINES TERMINATED AT '\n'
 IGNORE 5 LINES
(SequenceNumber,CDRMajorVerision)
 eof;

1 个答案:

答案 0 :(得分:1)

mySQL不支持忽略结束行。

来自The MySQL 5.1 documentation

  

IGNORE数字LINES选项可用于忽略的行   文件的开头。例如,您可以使用IGNORE 1 LINES跳过   在包含列名的初始标题行上。

相反,在Linux系统上,您可以转到终端窗口并使用命令head创建一个省略最后5行的新文件,如下所示:

head --lines=-5 oldfile > newfile

请参阅:man page for head

您的其他选择(例如,对于Windows),正在加载整个文件并以某种方式删除最后5行,并编写一个脚本来执行您所选语言的头部操作。