MySQL有一个很好的CSV导入功能LOAD DATA INFILE
。
我有一个需要定期从CSV导入的大型数据集,因此这个功能正是我所需要的。我已经有一个可以完美导入我的数据的工作脚本。
.....除了.... 我不知道行尾终止符会是什么。
目前我的SQL代码看起来像这样:
LOAD DATA INFILE '{fileName}'
INTO TABLE {importTable}
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
( {fieldList} );
这对于某些导入文件非常有效。
然而,导入的数据来自多个来源。其中一些具有\n
终止符号;另一些则具有\r\n
。
我无法预测我会得到哪一个。
是否可以使用LOAD DATA INFILE
来指定我的行可能以\n
或\r\n
中的任何一个终止符号作为结尾?我该如何处理这种情况?
\n
(大多数*nix系统,包括OS X)和\r\n
(Windows)--如果是这种情况,@Devart的答案看起来完美无缺--或者你可能会遇到其他行终止序列,例如\n\r
(例如来自RISC OS),\r
(例如Mac OS 9)和其他一些? - eggyal