为啥 MySQL Workbench 表数据导入向导会导入 0 条记录?

Posted

技术标签:

【中文标题】为啥 MySQL Workbench 表数据导入向导会导入 0 条记录?【英文标题】: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 而不仅仅是唯一的数字。最后,当两个表匹配时,我将新数据导入到现有表中。 【参考方案1】:

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

【讨论】:

以上是关于为啥 MySQL Workbench 表数据导入向导会导入 0 条记录?的主要内容,如果未能解决你的问题,请参考以下文章

mysql 的默认数据库mysql为啥在 workbench下看不到?怎么办?

在mysql workbench中,通过查询语句,为啥无法修改表中的数据?需要改啥设置吗?

MySQL Workbench - 表数据导入向导将所有日期时间对象写入 0000-00-00 00:00:00

MySQL Workbench 数据导入向导未显示 CSV 中的所有列

mysql workbench在建表以后想把已有的字段设置为AI,但设不了。为啥的

mysql workbench如何把已有的数据库导出ER模型