ubuntu mysql workbench导入csv文件总结

首先导入sql文件:https://blog.csdn.net/u010801439/article/details/78762387

然后准备导入csv文件,一共有两种方法,采用第一种可以选择csv文件中的某些列进行录入,但是问题较多,采用第二种需要csv文件的数据与待录入的表中的字段数、数据类型一致。

第一种导入方法的流程:

将鼠标移动到Tables,右击,选择Table Data Import Wizard

ubuntu mysql workbench导入csv文件总结
出现以下界面
ubuntu mysql workbench导入csv文件总结
ubuntu mysql workbench导入csv文件总结
根据下图提示,选择好后,继续点next
ubuntu mysql workbench导入csv文件总结
ubuntu mysql workbench导入csv文件总结
导入完成后继续点next,最后点finish即可完成导入

第一种方式遇到的问题:

Can’t analyze the file, please try to change encoding type

第一种解决方案:

用Excel打开csv文件,点击文件-另存为

ubuntu mysql workbench导入csv文件总结

选择保存类型为CSV UTF-8

ubuntu mysql workbench导入csv文件总结

点击右下角的工具,在弹出的窗口选择web选项

ubuntu mysql workbench导入csv文件总结
ubuntu mysql workbench导入csv文件总结

选择编码,将此文档另存为Unicode(UTF-8)

ubuntu mysql workbench导入csv文件总结

但是还是报错,可能是因为该utf-8是有bom的,用下一个方法去掉bom。

第二种解决方案:

下载一个NotePad++,用它打开文件,点击编码,将文件从原本的utf-8-BOM转换为utf-8,但我这里还是不行,可能是数据中有中文。

第三种解决方案:

(1)圈中汉字后选择工具栏中的工具–文本转换成数字(这个不知道怎么操作的)。

(2)workbench 识别csv第一行作为column名,column名不能为中文,把csv第一行改为英文列名,另外文件名、路径都不能有中文。

(3)https://blog.csdn.net/liyongqi_/article/details/51169157

第四种解决方案:

http://www.360doc.com/content/16/0407/13/21535613_548567293.shtml

到这里,所有找到的方法都试过了,我这里还是报错,只好采用第二种导入方法。

第二种导入方法流程:

https://blog.csdn.net/zhaomengszu/article/details/103784088

第二种方法可能遇到的问题:

Incorrect integer value: '' for column 'id' at row 1

这是因为数据类型不符合表的设置

解决方案:

如果是windows,在my.ini中查找sql-mode

默认为sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION",

将其修改为sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION",重启mysql后即可

如果是ubuntu,https://www.jianshu.com/p/7e722e22e276 和https://jingyan.baidu.com/article/ae97a64621a125bbfd461d98.html

我用的是第一个的方法,直接把模式设置成ANSI模式,即最宽松的模式

到此,成功录入csv文件