【问题标题】:load data infile syntax in mysql在mysql中加载数据infile语法
【发布时间】:2014-08-13 17:38:30
【问题描述】:

我正在使用 LOAD DATA 本地 INFILE 命令在 mysql db 中上传大的 csv 文件。该字段是 mysql 表中的整数,因此它只接受整数。

现在如果 csv 文件包含如下数字,则 sql 不起作用。我的 csv 文件的格式是

ID
"322"
"445"
"211"

所以它在表中插入 0。但如果 csv 文件不包含双引号,那就没问题了。

我如何告诉“加载数据文件”命令忽略双引号(因为有时很难从拥有大约 100 万条记录的 csv 文件中删除双引号)。我的 Sql 是

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

【问题讨论】:

标签: mysql csv load-data-infile


【解决方案1】:

尝试添加这个:

FIELDS OPTIONALLY ENCLOSED BY '"'

之前:

IGNORE 1 LINES

【讨论】:

  • 谢谢。现在出现 php 解析错误。如果你看到我的 sql 它以 " 开头
  • 使用 '\"' 解决了解析问题,但现在出现 sql 错误。
  • 我太笨了……我怎么能犯这种愚蠢的错误。我很抱歉@spencer7593,非常感谢你的帮助。接受了答案。
  • 我的回答集中在SQL语句上;在 PHP(或 Java 或任何语言)中将该字符串指定为字符串文字,这就需要在字符串中“转义”字符。您发现在双引号之前需要反斜杠...
猜你喜欢
  • 2010-10-22
  • 1970-01-01
  • 2011-01-28
  • 1970-01-01
  • 2013-10-02
  • 2011-05-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多