如何将数据加载到mysql表中但忽略空行

How to load data into mysql table but ignore the blank lines

提问人:Jury A 提问时间:10/6/2012 更新时间:1/26/2016 访问量:5552

问:

我正在使用以下语句从文件中插入数据。

load data infile 'filename.csv'
ignore 
into table tbl (clo);

我需要忽略文件中的空行。我该怎么做。

MySQL的

评论


答:

-1赞 Rafe 10/6/2012 #1
LOAD DATA INFILE 'filename.csv'
INTO TABLE your_table
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\r\n';

\r 在 Windows 文件上是必需的,如果您在 *nix 上运行它,则不需要它们。

评论

1赞 Jury A 10/7/2012
不起作用。给我一个语法错误。我需要完全按照我在声明中发布的顺序指定列(我需要在特定列中插入这些行)。
0赞 shrimpwagon 1/26/2016
@JuryA 是的,这并不能回答这个问题
1赞 shrimpwagon 1/26/2016 #2

您不能跳过行,除非它们位于文件的开头,您可以使用该选项。IGNORE N LINES

导入前使用 sed:

sed -i '/^\s*$/d' filename.csv

有关更多详细信息:使用 SED 删除空行

评论

1赞 TaW 1/26/2016
啊,更有帮助。永远记住:链接死了
0赞 ebyrob 12/17/2017
如果我必须导入一个 10 gig 的文件,我真的不想对其进行预处理,但我想每次我想高效导入数据时,我都可以编写一个自定义程序......