MySQL错误之1062-duplicated entry
每天除了一些协调性的工作,大部分时间还是放在网站的微调,不断的寻找着需要优化的细节并改之。有时候会想,是不是该尝试走技术流。。。
今天正在修改购物车显示,把总金额也调出来时,突然想到postcode还没有添加完全,以前只是在测试各模块功能时加了几个。于是赶紧进MyPHPAdmin把现有的down下来,然后在excel里按之前的格式添加。还好excel能够拖,要不然300条记录估计一下午就全耗上面了。
调整好格式后就import,结果出问题了:1062, duplicated entry。一开始不知是什么情况,先把表复制一份,然后胡乱尝试了几种自以为是可能的解决方法都无效,怎么改都还是只能添加127行。感觉像是哪有限制,最多只能录入127行。于是正好找Q上一朋友帮忙。果然很专业,说了一堆我听不懂的东西。而且关键是,我要的是解决方法而不是知识普及,o(╯□╰)o。由于是公司的东西,又不可能开权限给他,罢了,自己研究。
google了一下”mysql 1062″,貌似很多人都遇到过这个问题。按着别人的经验操作,停掉auto**(自动增加那个属性,忘了全称。。。),取消index,id段留空都还是不行,就差没有运行别人的那些不知道什么命令的SQL代码。。。看见mysql的论坛上有人说最好check the structure of the table,无奈之下打开postcode表,好好看了一遍。ID的类型为TINYINT。。。嗯?隐约记得有INT啊,float啊这些的,TINYINT是什么?查之,在mysql的网站看到找个表:
Bingo!这下子找到原因了,把TINYIINT改为INT再试,一切正常。虽然一开始就猜到是有什么限制导致的问题,却没想到是数据类型这一项,对这些太不熟悉了。。。
看来,如果框架性的东西不对,再怎么努力也是白费!
本文固定链接: https://offmask.com/2009/mysql-error-1062-duplicated-entry.html | 向死而生