【问题标题】:LOAD DATA LOCAL INFILE stops imports at 69k rowsLOAD DATA LOCAL INFILE 在 69k 行处停止导入
【发布时间】:2013-08-02 11:32:06
【问题描述】:

我正在使用 LOAD DATA LOCAL INFILE,它似乎停止在 ~69k 行。

内存限制是否太低?缓冲区大小?

Query OK, 68844 rows affected, 65535 warnings (4.20 sec)
Records: 69182  Deleted: 0  Skipped: 338  Warnings: 160539

.csv 文件包含大约 138,000 个条目,所有条目均已正确转义和封闭。

编辑:Mysql 版本:Ver 14.14 Distrib 5.1.50, for Win32 (ia32)

编辑2:命令:

load data local infile 'path/to/file.csv' into table contacts
fields terminated by ','
enclosed by '"'
lines terminated by '\n'
(column1, column2, column3,...)

【问题讨论】:

  • 一直是同一行?
  • 如果没问题,那你为什么有Skipped: 338 Warnings: 160539
  • ...大约 138000 个条目,但有 160539 个警告?!?您可能必须使用SHOW WARNINGS 检查这些:我您缺少的行在那里...
  • @jaczes 我没有特别跳过任何内容。我用 cli 命令编辑了我的问题
  • 呃,看起来是行尾问题。我改为使用\r\n 作为行尾,它起作用了。我还将我的 MYSQL 模式更改为 MYSQL40 - 显然这删除了“未找到默认值时跳过导入行”。 @SylvainLeroux Tx 显示警告,它有帮助:D

标签: mysql import command-line-interface


【解决方案1】:

查看我的最后一条评论,确保您选择的行尾与您用于制作 .csv 文件的操作系统一致。

呃,看起来这是一个行尾问题。我改为使用 \r\n 作为行尾,它起作用了。我还将我的 MYSQL 模式更改为 MYSQL40 - 显然这删除了“在未找到默认值时跳过导入行”。 @SylvainLeroux Tx 用于显示警告,它有帮助:D

我正在寻找基于 Unix 的行尾,导致 mysql 导入将其读取为一行。

【讨论】:

    猜你喜欢
    • 2013-01-14
    • 1970-01-01
    • 2013-01-13
    • 2017-02-26
    • 2014-11-08
    • 2011-11-30
    • 2018-07-10
    • 1970-01-01
    • 2012-10-05
    相关资源
    最近更新 更多