【问题标题】:MySQL bulk loadMySQL 批量加载
【发布时间】:2019-02-22 06:56:20
【问题描述】:

我正在尝试将 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;

【问题讨论】:

    标签: mysql special-characters bulk-load loaddata


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-23
      • 2018-10-10
      • 1970-01-01
      相关资源
      最近更新 更多