【问题标题】:MySql error using OPTIONALLY ENCLOSED BYMySql 错误使用 OPTIONALLY ENCLOSED BY
【发布时间】:2014-06-23 22:57:21
【问题描述】:

我正在使用 LOAD DATA 本地 INFILE 命令在 mysql 数据库中上传巨大的 csv 文件。

该表只有一个字段(隐藏),它是整数,主要和自动增量。查询是

$insert_query = "LOAD DATA local INFILE '".$target_path."' INTO table master_huts(hids) OPTIONALLY ENCLOSED BY  '\"'   IGNORE 1 LINES  ";

csv 文件包含,

ID
"343"
"454"
"777"

如果我从 csv 文件中删除双引号,那么它工作正常。如何告诉 MySql 忽略 csv 文件中的双引号。

【问题讨论】:

  • 您缺少关键字FIELDS,如FIELDS OPTIONALLY ENCLOSED...。从语法中不清楚,如果您使用相关子句之一,您可以省略它。
  • 您在 7 小时前提出了一个问题……而我在 7 小时前给出的答案是在 IGNORE 之前添加 FIELDS OPTIONALLY ENCLOSED BY。而且您省略了我的答案中包含的关键字 FIELDShttp://dev.mysql.com/doc/refman/5.1/en/load-data.html
  • 对不起@spencer7593 我昨天晚上没有收到来自stackoverflow的任何电子邮件或通知。所以我不得不发布一个问题,其中包含我当时的最新更新。可能有维护工作正在进行,我错过了标题中的红色通知。我要回到我的第一篇文章。再次对不起各位。

标签: php mysql csv load-data-infile


【解决方案1】:

试试这个:

$insert_query = "LOAD DATA local INFILE '".$target_path."' INTO table master_huts(hids) FIELDS ENCLOSED BY '”' LINES TERMINATED BY '\n' IGNORE 1 LINES;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-16
    • 1970-01-01
    • 2017-04-12
    • 1970-01-01
    • 2023-03-07
    • 2016-08-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多