FAQ系列 | 添加自增列失败

简介: FAQ系列 | 添加自增列失败

0、导读

想往一个表里添加一个自增列做主键,居然失败报告无法读取,这是怎么回事?

1、问题描述

有位朋友在升级discuz论坛数据库时遇到问题了,想给一个表添加自增列做主键,结果发生下面的报错:

mysql> ALTER TABLE pre_common_credit_log ADD `logid` mediumint(8) unsigned NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (logid) ;


ERROR 1467 (HY000): Failed to read auto-increment value from storage engine

2、原因分析

从报错信息来看,第一反应是:数据表损坏了。不过,再仔细想想,肯定不是啊,否则报错也不是这个了,而是像下面这样的了:

1030 Got error -1 from storage engine

再仔细一想,更大的可能性是:表里的总数据量,超过了mediumint最大值所致。

让朋友把自增列数据类型改成int或者bigint,果真就好了。

3、其他建议

建议使用discuz的同学们可以考虑这么做:

  • 如果启用了抢楼功能,那么就把post相关的表继续保留使用MyISAM引擎。或者自己动手改造代码,把抢楼功能中的楼梯值用redis来存储;
  • 如果没有启用抢楼功能,那么就可以放心的把所有表引擎改成InnoDB了。

顺便,再次吐槽一下discuz的某些功能设计,比如把session表用HEAP引擎,其他表默认引擎还是MyISAM。不过,这并不影响discuz成为国内最优秀的论坛解决方案(没办法,没更好的了,占了先机)。

            </div>
相关文章
|
11月前
|
人工智能 计算机视觉
MangaNinja:开源线稿着色工具,自动匹配图像风格,一键快速上色
MangaNinja 是一款基于参考图像的线稿着色工具,通过创新的补丁重排模块和点驱动控制方案,实现精准颜色匹配和复杂场景处理,适用于漫画、插画和数字艺术创作。
551 10
MangaNinja:开源线稿着色工具,自动匹配图像风格,一键快速上色
|
Web App开发 监控 Linux
在Linux上,有许多软件可以下载和安装
在Linux上,有许多软件可以下载和安装
457 67
|
数据可视化 Python
Seaborn 教程
Seaborn 教程
206 5
|
前端开发 JavaScript 开发者
探究单页应用(SPA)与多页应用(MPA):技术的选择与对比
在当今快节奏的互联网时代,单页应用(SPA)和多页应用(MPA)是两种常见的前端开发架构。本文将深入探讨这两种应用类型的特点、优势和不足,并提供一些帮助开发者做出选择的指导。
|
数据采集 JavaScript 网络安全
为什么PHP爬虫抓取失败?解析cURL常见错误原因
豆瓣电影评分是电影市场的重要参考,通过网络爬虫技术可以高效采集评分数据,帮助电影制作和发行方优化策略。本文介绍使用PHP cURL库和代理IP技术抓取豆瓣电影评分的方法,解决反爬机制、网络设置和数据解析等问题,提供详细代码示例和优化建议。
468 0
为什么PHP爬虫抓取失败?解析cURL常见错误原因
|
传感器 人工智能 监控
未来出行的革新:智能交通系统的崛起
【10月更文挑战第9天】 智能交通系统(ITS)正在改变我们未来的出行方式。本文深入探讨了ITS的技术原理、关键组成部分以及其在不同领域的实际应用,并讨论了面临的挑战及未来发展的前景。通过阐述这些内容,本文揭示了智能交通系统在提升交通效率、安全性和可持续性方面的巨大潜力。
|
数据安全/隐私保护 Docker 容器
如何本地跑通一个大模型
这里主要借助两个开源项目 [ollama](https://github.com/ollama/ollama) 和 [openwebui](https://github.com/open-webui/open-webui) 这两个项目,来尝试本地跑通`llama3.1 8b` 、 `mistral-nemo 12b` 和 `qwen2 7b` 这些模型,再大的模型机器也撑不住了。
342 12
|
机器学习/深度学习 算法 数据挖掘
从菜鸟到大师:Scikit-learn库实战教程,模型训练、评估、选择一网打尽!
【9月更文挑战第13天】在数据科学与机器学习领域,Scikit-learn是不可或缺的工具。本文通过问答形式,指导初学者从零开始使用Scikit-learn进行模型训练、评估与选择。首先介绍了如何安装库、预处理数据并训练模型;接着展示了如何利用多种评估指标确保模型性能;最后通过GridSearchCV演示了系统化的参数调优方法。通过这些实战技巧,帮助读者逐步成长为熟练的数据科学家。
503 3
|
机器学习/深度学习 人工智能 自然语言处理
【AI 生成式】生成式人工智能如何在虚拟现实和游戏中使用?
【5月更文挑战第4天】【AI 生成式】生成式人工智能如何在虚拟现实和游戏中使用?