【问题标题】:LOAD DATA INFILE only 1 record insertedLOAD DATA INFILE 仅插入 1 条记录
【发布时间】:2010-02-07 01:38:32
【问题描述】:

我有一个试图通过命令行导入的 csv 文件。但只插入了 1 行。 它们是逗号分隔的值。我在使用 Excel Mac 的 Mac 上。我保存为 csv 文件。如何判断这些行是否由 \r 或 \n 或两者终止?这是我使用的代码:

LOAD DATA LOCAL INFILE '/Users/eric/Documents/contacts_test.csv' INTO TABLE `contacts_tmp` FIELDS TERMINATED BY ',' ESCAPED BY '\\' LINES TERMINATED BY '\n' (clientid,contactid,title,fname,mname,lname,suffixname,salutation,occupation,employer,home_addr1,home_addr2,home_city,home_state,home_zip,home_county,primary_addr1,primary_addr2,primary_city,primary_state,primary_zip,primary_county,work_addr1,work_addr2,work_city,work_state,work_zip,work_county,email,phone_home,phone_mobile,phone_work,fax,phone_other,codes);

谢谢

【问题讨论】:

  • 这样的命令没有任何问题。你检查过 Windows 或 Linux 中的命令吗?

标签: mysql load-data-infile


【解决方案1】:

我只是建议用 ... LINES TERMINATED BY '\r\n' ... 尝试相同的命令,看看你是否有更好的运气。

【讨论】:

【解决方案2】:

遇到同样的问题,LINES TERMINATED BY '\r' 完成了这项工作。

【讨论】:

    【解决方案3】:

    如果在您的文件中该行以, 结尾,那么您应该添加LINES TERMINATED BY ',\r\n'。

    这将解决您的问题,就像解决我的问题一样。

    【讨论】:

      【解决方案4】:

      Mac 文本文件通常以 \r 结尾,但您可以通过使用十六进制编辑器并查看行结尾来找到它。

      【讨论】:

      • '\n' 现在更常见了。见上面的评论。
      • 谢谢!遇到了同样的问题,这个解决了问题!
      • 我在某处读到使用“\r”的 Mac OS 9 或更早版本。 Mac OS X 使用 '\n'。
      【解决方案5】:

      只需尝试从您的查询中完全删除 LINES TERMINATED BY '\n'。

      如果不指定分隔符,MySQL 会自动填充。

      【讨论】:

      • 如果你没有指定 FIELDS 或 LINES 子句,默认值和你写的一样: FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY ' \n' STARTING BY '' ---- 这就是 mySQL 文档所说的。
      猜你喜欢
      • 2015-04-17
      • 2013-03-11
      • 2018-07-10
      • 2014-11-08
      • 1970-01-01
      • 1970-01-01
      • 2016-08-30
      • 2011-05-06
      • 2013-10-03
      相关资源
      最近更新 更多