Navicat 导入excel整数变小数,导致更新操作不成功

Posted 苛学加

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Navicat 导入excel整数变小数,导致更新操作不成功相关的知识,希望对你有一定的参考价值。

Navicat 导入excel

在使用Navicat 导入excel数据对现有数据进行更新的时候,出现了一个问题:

数据有21条,但是没一条更新成功。

尝试处理并查找原因

之后我将“更新”改为“追加或跟新”,发现正常导入了21条数据,通过查看表中新增的数据发现,新增加的数据中,code主键字段从Excel表格中显示的整数变成了小数,如:993242 导入后显示的 993242.0
很明显,就是因为这个问题导致了我的更新操作无法匹配到现有数据,所以能操作成功。

尝试解决

既然是数据格式出现了问题,那我就直接将Execl表格中的数据格式就行了修改,“文本”、“数字”类型都设置后重新尝试导入更新了一次,都没有更新成功。

于是改变策略,在网络上找起了解决方法,看网友的方法是先将Excel中的单表导出为utf8编码的csv格式,再将csv进行导入更新操作。

.csv 是逗号分隔值文件格式,可以用记事本或excel打开,其文件以纯文本形式存储表格数据。


然后使用一个文本编辑器打开.csv文件,核对编码字段正常无小数点问题后开始在Navicat上导入更新操作。

设置好code作为主键:

导入模式选着更新:

最后操作成功:

再次确认库中的数据,发现中文出现了乱码,前面提到了需要使用UTF-8的编码格式,但是我在导出为.csv文件的时候没有发现有该选择项,于是我使用记事本打开.csv文件,然后再另存为时重新设置了编码方式:

然后在把导入更新操作了一次,在次核对数据,完美!

以上是关于Navicat 导入excel整数变小数,导致更新操作不成功的主要内容,如果未能解决你的问题,请参考以下文章

python使用xlrd读取excel数据时,整数变小数的解决办法

navicat用excel导入数据,由于字段数超过255个,导入时navicat读不到excel中255个以后的字段,如何解决

SSIS 未正确从 Excel 导入 TEXT 列(整数导致 NULL 值)

将excel导入mysql(使用navicat)

navicat导入数据到一定量就停止了

通过Navicat将Excel表中的数据导入到数据库