我正在尝试将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;
答案 0 :(得分:1)
我认为这是不可能的。引用LOAD DATA reference
任何字段或行处理选项都可以指定一个空字符串('')。如果不为空,则[OPTIONALLY] ENCLOSED BY和FIELDS ESCAPED BY值必须为单个字符。
ESCAPED BY字段仅支持一个字符。 我的建议是使用任何编程语言(例如PHP,C#等)使用regexp逐行打开和处理文件