石油机械论坛- Petroleum Equipment Forum

 找回密码
 注册会员
查看: 2333|回复: 0

MYSQL Server Error Duplicate entry '%s' for key %d Error no. 1062

[复制链接]

该用户从未签到

发表于 2010-5-19 13:36:42 | 显示全部楼层 |阅读模式 来自: 中国重庆
MYSQL Server Error: Duplicate entry '%s' for key %d  1062
问题分析:
向唯一字段插入相同数据。
解决方法:
1、请检查程序是否做了修改,如果修改过,建议用我们的原程序覆盖您的修改,再次检查问题。
2、如果您的站点上有 phpMyAdmin ,还可以通过他检查下您的数据库中出错的表的自增字段的当前自增值是否和该表中自增字段的最大值相同,如果相同则会出现该错误。
3、如果您的站点正在升级,请确认对应数据表中的自增字段的值是否够大,可以通过phpmyadmin进行修正。
4、如果您正在转移数据库,请确认数据库的版本是否相同。
5、如果以上方法还未解决,请恢复备份,并且重新开始升级。

方法 2 的检查修改详细流程:(以 PHPWind的 threads 表为例,其他操作均相同)
1)进入您的 phpMyAdmin ,然后在左侧选择您出错的数据库。

2)查看出错表的结构,并找到该表的自增字段,有 auto_increment 标识的字段即为该表的自增字段。

3)点击浏览,然后根据自增字段降序排序,记下自增字段的当前最大值。

4)点击该页面上方的操作,会看到“表选项”中的 auto_increment 项,这就是下一条你要插入的数据的自增字段的值,如果这个值和刚才记下的当前自增字段的最大值一样,就会报错了,所以将这个值改为大于刚才记下的当前自增字段的最大值,然后点击“执行”,即可解决问题。示例中给出的当前自增字段的最大值为7 ,而下一条你要插入的数据的自增字段的值为8,这样则不会有问题。


典型案例一某些比较大型的PW站点可能会遇到这样的错误:Query Error: REPLACE LOW_PRIORITY INTO pw_elements(type,mark,id,value,addition,time) VALUES ('usersort','onlinetime','3970','563','spoony','1244218964') 
The URL Is:
http://yourwebsite/login.php?
MySQL Server Error:
Duplicate entry '16777215' for key 1 ( 1062 ) 查看错误相关信息

原因:由pw_elements表字段eid值偏小引起。解决办法:进入phpmyadmin,找到pw_elements表,将eid改为int(10)即可。
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|小黑屋|手机版|石油机械网- Petroleum Equipment ( 渝ICP备2024042459号-1 )

GMT+8, 2025-4-6 05:23 , Processed in 0.038254 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表