代码之家  ›  专栏  ›  技术社区  ›  data_addict

MySQL大容量加载

  •  0
  • data_addict  · 技术社区  · 6 年前

    我正在尝试将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;
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Anton    6 年前

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

    任何字段或行处理选项都可以指定空字符串('')。如果不为空,由值括起的字段[可选]和由值转义的字段必须是单个字符。

    我的建议是使用任何编程语言(如PHP、C等)使用regexp逐行打开和处理文件

    推荐文章