MySQL的批量加载(MySQL bulk load)

2019-10-28 14:43发布

我想CSV文件加载到MySQL表。 分隔符:,(逗号)

随着字段值的源数据很少被包括在双引号,我们有双引号中的一部分,很少有记录这/是场数据的一部分,我们需要对其进行转义。

默认情况下,/是越来越逃了出来,当我指定的“为转义字符”是越来越逃脱。 正如我们在同一个文件内的多个特殊字符,我们需要逃避多个特殊字符。

任何建议

例如:

 id name location
 1  A   "Location , name here"
 2  B   "Different Location"
 3  C   Another Location
 4  D   Location / with escape character  

LOAD DATA LOCAL INFILE 'data.csv' INTO TABLE table_name FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 LINES;

Answer 1:

我认为这是不可能的。 参照LOAD DATA参考

任何的现场或线处理选项可以指定一个空字符串(“”)。 如果不为空,字段[可选] ENCLOSED BY和ESCAPED BY值的字段必须是一个单个字符。

为逃脱的BY场仅支持单个字符。 我的建议是使用任何编程语言(如PHP,C#等),使用开放和处理文件中的行由行正则表达式



文章来源: MySQL bulk load