【问题标题】:MySQL workbench not importing all rows from csvMySQL工作台没有从csv导入所有行
【发布时间】:2021-07-16 02:03:21
【问题描述】:

我正在尝试将 CSV 文件导入 MySql 中的新表。该文件有 100 万行,但 MySql 只导入了 847 行。

  1. 我尝试保存 CSV 文件并导入各种格式,utf-8、windows-1205 等。
  2. CSV 文件有一个 INDEX 列,其中包含可用作主键的序号。
  3. 没有无效字符,例如逗号。
  4. 我复制了 CSV 文件并删除了第一个 847 并再次导入,它导入了接下来的 26 行。这说明数据没有问题,本来可以导入的。

为什么 MySql Workbench 不能导入所有百万行?

【问题讨论】:

  • 如果将文件分成多个小文件,会导入所有内容吗?和duplicate index有关系吗? file size 是什么?是否超过max_allowed_packet
  • 在第二次尝试中,在删除前 847 行后,它只导入了 26 行 - 它应该至少再次导入了接下来的 847 行。我将再次测试拆分文件。只有索引列是 PK 并且有序列号 - 其余列是没有限制的文本。文件大小为 431MB - 我读取的 max_allowed_pa​​cket 为 1GB,所以这应该不是问题。
  • 将文件拆分为多个文件,每个文件有 1000 行...同样的问题 - 它只从第一个导入 847,从测试导入其余部分,它导入随机行数:243、143 等

标签: mysql


【解决方案1】:

更新:

我尝试使用 MSSQL(使用 SSMS)导入,这不仅给了我一个错误,而且告诉我问题出在哪里!我没有为 char 字段分配足够的空间,因为某些值有很长的文本字符串。我在 SSMS 中所做的只是将其更改为 VARCHAR(max) 并且 SSMS 导入了所有百万行。这可能是 MySql 的解决方案,但由于 MySQL Workbench 没有告诉我确切的问题是什么,我已经卸载了它,并将继续使用 SSMS 和 MSSQL。

【讨论】:

  • 我明白了,是数据类型不合适造成的。
  • 正确。就像为包含多个字符的字段选择 char(50) 一样。
【解决方案2】:

我建议您使用命令行将 csv 导入 MySQL,而不是使用 PhpMyAdmin 或 MySQL Workbench,特别是如果它是一个大文件。它允许您从文本文件中读取数据或将数据导入数据库 非常快,阅读this

使用这个命令:

LOAD DATA LOCAL INFILE '/path/to/file.csv'
INTO TABLE table_name
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\r\n';
IGNORE 1 ROWS;
  • 如果文件位于本地计算机上,则添加 LOCAL。参考:link
  • table_name 更改为destination 表名。
  • FIELDS TERMINATED BY 默认情况下,CSV 使用 逗号 来识别单个数据值。
  • ENCLOSED BY 表示双引号 " " 环绕值。
  • LINES TERMINATED BY 指定换行符。
  • IGNORE 1 ROWS 这个命令告诉 MySQL 跳过第一行。如果 CSV 包含列标题并且我们想忽略它被导入到我们的表中,我们想使用它。

更多详情,您可以查看manual

【讨论】:

  • 我已经看到这个并尝试将其作为 SQL 查询,但它不起作用。
【解决方案3】:

如果任何列的数据类型为 double/float 并且有空单元格,则将其替换为 NULL 或 NA。尝试导入 CSV。 这对我有用。

【讨论】:

    【解决方案4】:

    不要使用命令行,需要设置环境参数才能从本地csv文件导入。

    使用导入向导对我来说更容易。

    但是我只导入前 100 行。

    我通过选择 latin1 而不是默认的 utf-8 来解决它

    https://bugs.mysql.com/bug.php?id=89044

    【讨论】:

      猜你喜欢
      • 2020-05-08
      • 2016-05-07
      • 2012-07-10
      • 2015-02-24
      • 2013-04-10
      • 2014-03-04
      • 2019-07-30
      • 2021-12-09
      • 2014-03-30
      相关资源
      最近更新 更多