返回列表 发新帖
查看: 346|回复: 0

Discuz! X3.4 X3.3 X3.2 数据库出错提示Duplicate entry * for key *的解决方法

[复制链接]

1万

热度

1万

元宝

1万

贡献

金牌草根

发表于 2016-11-6 09:59:26 | 显示全部楼层 |阅读模式
错误编号:1062

错误提示:
  1. 查询语句错误[1062]
  2. ERR: Duplicate entry '16777215' for key 'PRIMARY'
  3. SQL: INSERT INTO forum_attachment SET `tid`='0',`pid`='0',`uid`='1',`tableid`='127'
  4. PHP: misc.php:0058 -> source/module/misc/misc_swfupload.php:0089 -> source/class/class_forumupload.php:0106 -> source/function/function_core.php:2484 -> source/class/class_core.php:0930
  5. User: uid=1; IP=183.7.77.81; RIP:183.7.77.81 Request: /bbs/misc.php?mod=swfupload&operation=upload&type=file&inajax=yes&infloat=yes&simple=2
复制代码
问题分析:

向唯一字段插入相同数据。

解决方法:

方法1、请检查程序是否做了修改,如果修改过,建议用我们的原程序覆盖您的修改,再次检查问题。

方法2、用phpmyadmin或tools工具修复出错表,如果还没修复可方法3手动修复。

方法3、如果您的站点上有 phpMyAdmin ,还可以通过他检查下您的数据库中出错的表的自增字段的当前自增值是否和该表中自增字段的最大值相同,如果相同则会出现该错误。

方法4、如果您正在转移数据库,请确认数据库的版本是否相同。

方法5、如果以上方法还未解决,请恢复备份,用 DBCheck 将数据库检验为标准结构,并且重新开始升级。



方法3的检查修改详细流程:(以 discuz! 的 threads 表为例,其他操作均相同)
1)进入您的 phpMyAdmin ,然后在左侧选择您出错的数据库。
数据库出错提示Duplicate entry-1.gif

2)选择您出错的表,并找到该表的自增字段,有 auto_increment 标识的字段即为该表的自增字段。
数据库出错提示Duplicate entry-2.gif
3)点击浏览,然后根据自增字段降序排序,记下自增字段的当前最大值。
数据库出错提示Duplicate entry-3.gif

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

示例中给出的当前自增字段的最大值为 54 ,而下一条你要插入的数据的自增字段的值为 55 ,这样则不会有问题。

数据库出错提示Duplicate entry-4.gif
本文来源于网友学习研究交流 www.caogen8.co,请以学习研究交流为主。
如果您没有贡献积分,可以直接免费领取,免费领取
如果你需要加入本学习研究交流,请以学习研究交流为目的,免责声明
如果找不到您要的资源,请搜索一下,点击搜索
返回列表 发新帖
 懒得打字嘛,点击右侧快捷回复【最新发布】   【赞助草根吧享更多权益】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

收藏帖子 返回列表 搜索

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

小黑屋|手机版|草根吧