【问题标题】:Why would MySQL Workbench Table Data Import Wizard import 0 records?为什么 MySQL Workbench 表数据导入向导会导入 0 条记录?
【发布时间】:2016-07-23 11:50:14
【问题描述】:

我对 MySQL 非常缺乏经验,并且遇到了很多问题。我在 Linux Mint 17.3 上使用 MySQL Workbench 6.3。

我正在尝试使用表数据导入向导将 CSV 文件导入表中。这适用于简单的表,但不适用于更复杂的表。

我正在纠正导入向导中的所有内容,以确保每一行和每一列都是完美的。一开始似乎可行,导入我的~14000行需要时间,有磁盘活动并且没有报告错误,但最后:

“导入 0 条记录”

表格和以前一样保持空白。

如果我导入到 new 表中,一切都会按预期工作,这令人沮丧。我注意到数据类型是完全不同的。我试图强制 .CSV 文件中的数据类型对应于预期的内容。我还确保“NULLABLE=NO”字段中确实包含某些内容。但是如果我违反了这些规则中的任何一个,会不会有错误?我什至尝试只导入一行,认为可能在这个大表的某个地方有一些坏数据,但我什至无法导入一行。

为什么没有错误,但“0 条记录导入”到现有表中,但在新表中一切正常?

如果我没有提供足够的信息,我提前道歉。

谢谢。

【问题讨论】:

  • 数据类型完全不同是有意义的。什么样的差异?为什么不将数据导入到新表中,然后从那里导入到您的真实表中,在此过程中进行任何必要的数据类型转换?
  • 不同之处在于现有表使用“varchar”或“timestamp”数据类型,而新表使用“text”。此外,新表使用“int”和“bigint”,而现有表使用“double”,并且有一个“bit”实例。我将学习在转换数据类型时尝试从一个表导入到另一个表,现在它们都是有效的 MySQL 表可能会更容易。谢谢你,肯。
  • 原来数据有很多问题。仅仅转换它是不够的。我最终进入“更改表”并尝试更改每列的属性以使两个表匹配。这导致当我设置“NOT NULL”时找到很多 NULL 值,然后在我设置“UNIQUE”时找到很多重复值。在纠正这些之后,其他表中仍然有一些对 UUID 的引用,然后我还发现有一列需要 UUID 而不仅仅是唯一的数字。最后,当两个表匹配时,我将新数据导入到现有表中。

标签: mysql csv import mysql-workbench


【解决方案1】:

解决方案是在每次导入时导入约 2000 条记录。我相信数据库存在内存问题。我遇到了同样的情况,我上传了大约 9000 条记录。包括数据类型在内的一切都很完美。

【讨论】:

    猜你喜欢
    • 2015-12-30
    • 2018-10-14
    • 2012-12-21
    • 1970-01-01
    • 2021-10-01
    • 1970-01-01
    • 2021-04-19
    • 2020-01-18
    • 2017-09-07
    相关资源
    最近更新 更多