·设为首页收藏本站📧邮箱修改🎁免费下载专区💎积分✅卡密📒收藏夹👽聊天室
返回列表 发布新帖

Discuz升级3.5后,能发帖不能回复,显示Duplicate entry错误

364 2
发表于 2023-3-6 16:54:29 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
  这几天更新网站,程序系统从Discuz3.4升级为3.5,本来是欢天喜地的大好事,想不到由于新版本太新,漏洞的BUG颇多,造成了很多的困扰,现在将一个比较难搞定的问题分享一下,希望对遇到同样问题的朋友有所帮助。
  这个问题就是:discuz升级3.5后,发帖正常,回复直接出错,显示:
Discuz! Database Error
(1062) Duplicate entry '0-XXXX' for key 'PRIMARY'这样的错误信息。
Discuz升级3.5后,能发帖不能回复,显示Duplicate entry错误 discuz,升级,5后,能发,发帖

  于是把SQL直接拿到数据库里面去执行,发现报错:
Discuz升级3.5后,能发帖不能回复,显示Duplicate entry错误 discuz,升级,5后,能发,发帖

  提示是pre_forum_post表有些字段缺少默认值,于是根据提示把字段加上了默认值,加了好几个。
  再运行,提示position字段有问题。
  对比发现,3.4的position字段是: `position` int(8) unsigned NOT NULL AUTO_INCREMENT,
  而升级后3.5的position字段是:`position` int(10) unsigned NOT NULL,成了非自增字段!问题肯定就出在这里了。
  于是,把position字段重新设置成了AUTO_INCREMENT,并把更新后一些新的记录的position值手动设置了一下,保存。
  重新提交数据,成功啦!能够正常回复啦!问题解决啦!
  不过,上面字段属性差异到底是我升级中出现故障造成的,还是官方的代码瑕疵,这个不得而知。
我要说一句 收起回复
创宇盾启航版免费网站防御网站加速服务

评论2

婷姐Lv.8 发表于 2023-3-6 16:54:43 | 查看全部
刚才仔细看了官方的表更新语句,没有什么问题,查看站长-数据库-校验,这里面的问题。本来是正确的结构,校验出错了,如果选择修复就完蛋了,在官方更新前,千万别选修复。
Discuz升级3.5后,能发帖不能回复,显示Duplicate entry错误 discuz,升级,5后,能发,发帖
我要说一句 收起回复
独家记忆Lv.8 发表于 2023-3-6 16:55:07 | 查看全部
这个我再说明一下,这不是官方BUG,是N年前可能自己修改了post表,造成与官方表结构不一致,从而导致了后面的一系列错误。官方的数据库校验也木有问题。当然,如果你以前也修改过表,出了能发帖不能回帖的问题,可以参考上面的方法解决。不过,强烈建议还是以官方的数据结构为准。我都改过来了。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

创宇盾启航版免费网站防御网站加速服务
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:3.145.84.128,GMT+8, 2024-12-27 08:09 , Processed in 0.242783 second(s), 92 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2024 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表