MySQL批量加载

时间:2018-09-18 09:20:28

标签: mysql special-characters bulk-load loaddata

我正在尝试将csv文件加载到mysql表中。 分隔符:,(逗号)

作为源数据的一部分,很少有字段值用双引号引起来,而在双引号内部, 很少有/作为字段数据的一部分的记录,我们需要对其进行转义。

默认情况下,/将被转义,当我指定“ as转义字符”时将被转义。由于我们在同一文件中包含多个特殊字符,因此我们需要对多个特殊字符进行转义。

任何建议

例如:

 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;

1 个答案:

答案 0 :(得分:1)

我认为这是不可能的。引用LOAD DATA reference

  

任何字段或行处理选项都可以指定一个空字符串('')。如果不为空,则[OPTIONALLY] ENCLOSED BY和FIELDS ESCAPED BY值必须为单个字符。

ESCAPED BY字段仅支持一个字符。 我的建议是使用任何编程语言(例如PHP,C#等)使用regexp逐行打开和处理文件