881 Star 3.6K Fork 1.5K

Discuz / DiscuzX

 / 详情

discuz多处数据库使用mediumint记录ID,导致ID数量达到上限后出错

已完成
创建于  
2021-04-13 20:21

描述此问题

discuz多处数据库使用mediumint记录ID,导致ID数量达到上限后出错

疑似问题重现步骤

当pre_common_credit_log等采用Mediumint的表记录数达到16777216时,就会出现无法记录,然后报错。

报错信息

输入图片说明

为解决问题做过哪些尝试

直接修改数据库结构的ID的mediumint为int即可解决

版本信息

  • Discuz! 版本:3.4
  • Release 版本:2021年1月
  • 服务器系统版本:Windows2019
  • PHP 版本:7.4
  • MySQL / MariaDB 版本:5.5.13
  • 内存缓存类型和版本:redis

评论 (2)

tianshi 创建了任务
tianshi 关联仓库设置为Discuz/DiscuzX
展开全部操作日志

大版本内无法修改数据库结构,目前我们发现的常见问题已经在 X3.5 修改完毕。

您可以抽空看一下 X3.5 分支的 install.sql 以及 uc.sql 等相关文件,如果有我们未做扩容的,可以直接提 PR 或者在本文回复。

看了下X3.5的

CREATE TABLE pre_common_credit_log (
  logid int(10) unsigned NOT NULL AUTO_INCREMENT,

是int而非mediumint,应该是解决了问题。

湖中沉 任务状态待办的 修改为已完成

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(2)
1773794 laozhoubuluo 1594507411 1295123 tianshi2 1605370485
PHP
1
https://gitee.com/Discuz/DiscuzX.git
git@gitee.com:Discuz/DiscuzX.git
Discuz
DiscuzX
DiscuzX

搜索帮助

53164aa7 5694891 3bd8fe86 5694891