今天把xls数据表导入MySQL数据库时发现出现1062错误 ,并且有20-700条数据一直导入不了所以开始找解决方案。
解决方案1: 数据库表设计问题导致相同字段的重复数据不能导入
解决方法: 把主键设置为绝对不可能重复的数据,或者把Unique改为Normal可是我试过还是不能导入那些出错的数据。第一次尝试失败,有些能解决问题的欢迎尝试一下,也就是把唯一索引改为普通索引。
解决方案2:网上说id的字段类型搞错了,反正我大概理解了就是MySQL支持int的三种储存方式 :
- TINYINT 一个很小的整数,有符号的范围是 :-128到127,无符号的范围是0到65535。
- SMALLINT 一个小整数,有符号的范围是-32768到32767,无符号的范围是0到65535 。
- MEDIUMINT一个中等大小整数,有符号范围是-32768到32767 ,无符号的范围是0到65535 。
- INT 一个正常大小整数,有符号范围是 -2147483648到2147483647,无符号的范围是0到4294967295 。
- BIGINT一个大整数,有符号的范围是 -9223372036854775808 到 9223372036854775807,无符号的范围是0到18446744073709551615 。
他的意思大概是数据越界导致数据无法正确导入我也试了一遍,no,问题还是没解决 !!! 并且错误越来越多我去,这个傻逼数据库。
解决方案3:说啥驱动以及文件没打开的问题,关键是数据库咋装驱动我不会,而且我用的Navicat 也没装驱动的地方啊,
然后呢我换了一种文件格式就是把xls格式的表中数据整到xlsx表中然后导入xlsx中数据,然后呢直接报错表都读取不了,甚至我用WPS打开文件导入都不行,我好烦,于是呢我下了个office把xlsx打开然后导入又报错,,我很烦很烦改回xls文件用office打开一遍 导入一遍完美 ,问题顺利解决。
问题回顾: 数据库导入xls文件出错,报1062异常。我很蒙逼,前几张子表导入无异常无报错,就最后一张表报错很多;
解决方法:下载office然后打开xls文件再导入一遍。 问题解决。
总结:首先,我用的WPS,出现问题的原因大概是WPS数据表xls文件和office数据表xls文件在后面几张表中有点区别,碰巧前面可以用,到第五张表之后正巧出现异常。而MySQL只支持office格式的不支持WPS而前面几张表两者区别不大所以导入确。(此总结仅供参考,欢迎大家斧正!!) |