首页 文章

在MySQL Workbench中,使用“表数据导入向导”导入CSV创建空表

提问于
浏览
8

我正在尝试使用表数据导入向导将csv文件导入MySQL表 . “配置导入设置”屏幕底部的示例部分看起来很好,当我运行导入时,它表示我的所有条目都已成功加载 . 但是,当我去查看表的内容时,只有列,并且没有加载任何实际数据 . 有谁知道为什么会发生这种情况以及如何纠正它?

编辑:

这些是我的CSV文件中的几行:

STATION,STATION_NAME,ELEVATION,LATITUDE,LONGITUDE,DATE,MLY-TAVG-NORMAL,MLY-TMAX-NORMAL,MLY-TMIN-NORMAL,平均温度,最高温度,最低温度GHCND:USW00094085,PIERRE 24 S SD US,647.4 ,44.0194,-100.353,201001,218,322,113,21.8,32.2,11.3 GHCND:USW00094085,PIERRE 24 S SD US,647.4,44.0194,-100.353,201002,246,354,137,24.6,35.4,13.7 GHCND:USW00094085,PIERRE 24 S SD US ,647.4,44.0194,-100.353,201003,339,451,226,33.9,45.1,22.6 GHCND:USW00094085,PIERRE 24 S SD US,647.4,44.0194,-100.353,201004,463,588,337,46.3,58.8,33.7 GHCND:USW00094085,PIERRE 24 S SD US,647.4,44.0194,-100.353,201005,573,696,450,57.3,69.6,45

以下是导入过程的一些图像:

这是我在尝试查看新创建的表时看到的内容:

第二编辑:

这是我的设置图像:

这是我的CSV文件的图像,显示行结尾:

4 回答

  • 0

    尝试使用您的样本数据并导入正常 . 我想进一步的数据一定有问题 . 也许一个(或多个)记录不是他们应该的 . 预览适用于第一个记录数,因此您的导入定义似乎很好 . 尝试导入较小的记录块 . 从1开始,扩展到10等 . 直到您看到导入失败 . 您也可以尝试只使用一列,如果成功,则对失败的列执行二进制搜索 .

    注意:显示导入的行时存在错误(并且已针对下一个版本进行了修复) . 这始终显示记录的总数,而不是实际导入的记录数 .

  • 3

    我遇到了同样的问题并尝试通过更改设置解决它,但它对我不起作用 . 我只是将所有数据导入为txt数据类型和

    (ALTER TABLE tablename MODIFY COLUMN datatype)
    

    稍后更正数据类型 .

  • 7

    验证文件的编码 . 将源文件解析为UTF-8时,工作台在遇到非UTF-8字符时会无声地轰炸 . 我使用cp1250(Windows 1250)从Excel导出的文件,一切正常 .

  • 0

    您需要确保在导入表时正确设置了csv选项 .

    当你到达下面的屏幕时,注意红色箭头指向扳手的方式 . 通过单击该选项下拉以设置行分隔符,将显示封闭字符串和字段分隔符 . 如果未正确设置,则数据将加载失败 .

    以下是CSV文件示例 . 注意如何在Notepad++中按下包装按钮,以便您可以看到行尾 . 在这种情况下,行尾为 CR LF . Workbench Import向导的默认选项只是 LF . 此外,默认字段分隔符似乎是 ; 而不是 , .

    你可以在这里阅读更多信息dev.mysql

相关问题