从CSV导入部分数据到MySQL

时间:2013-08-23 10:01:49

标签: mysql csv

我的CSV是原始表的部分投影。我的数据库中有相同的表结构。

我想只将这些列导入我的数据库,因为没有额外的NOT NULL约束(我明确地禁用了其中一些)。我不知道如何导入它们。

我尝试了以下内容:从MySQL Workbench,右键单击表格然后Edit table data,然后在屏幕上我尝试了“从外部文件导入记录”按钮,加载了CSV文件但我得到了以下错误:

[Window Title]
MySQL Workbench

[Main Instruction]
Error importing recordset

[Content]
error calling Python module function SQLIDEUtils.importRecordsetDataFromFile

[OK]

列名与DB中的相同,但这些是部分的(并非所有列都作为DB)。该表目前是空的。

如何将数据导入MySQL?

3 个答案:

答案 0 :(得分:8)

事实证明,这是工具为导入CSV数据的任何问题提供的错误。他们为更多描述性错误响应打开了一个错误。

对我来说,事实证明它不适用于非Windows换行符。因此,如果您的文件来自Unix / Linux或Mac,它将无法正常工作。您可以在Excel中打开它,然后将其重新保存为MS-DOS CSV然后它可以工作。其他可能使其失败的事情是使用“;”。

此外,该工具没有列映射选项,因此您必须将导入文件与表设置完美匹配。如果您的列匹配不匹配或数据类型不匹配,它也会引发。

答案 1 :(得分:1)

当我将csv文件导入MAC Mysqlworkbench时,我遇到了同样的问题和错误。

我将文件恢复为windows逗号分隔(.csv)。这对我有用。

答案 2 :(得分:0)

  1. 检查您是否有权导入(插入时),如果导入清除旧数据,则检查是否具有删除权限。
  2. 如果无效,请创建一个新表格,其中限制最少的列与CSV文件中的列完全相同,请尝试导入。如果确定 - 只需更新/插入目标表
  3. 如果无效,请尝试导入其他数据库。
  4. 如果无效,请检查CSV文件 - 所有内容都可以吗? (也许应该先试试)