`
hehailin1986_163.com
  • 浏览: 154492 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Failed to read auto-increment value from storage engine

    博客分类:
  • SQL
阅读更多
日前在项目中遇到一个问题,就是在对一个表进行数据保存的时候出现错误,“Failed to read auto-increment value from storage engine”。在对表的结构进行仔细的检查之后发现表的auto_increment值是一个非常大的值(18446744073709551615,是mysql中中bigint unsign的值)。于是我手动设置其值为1( ALTER TABLE target_table  AUTO_INCREMENT =1 )。但是仍然不起作用,值没有改变。

在网上搜寻了很多资料,比较一致的说法是说mysql的一个bug,需要对数据库进行升级。我为了省麻烦,没有升级我的mysql。于是想找到其他的方法。我使用mysql的控制台是phpmyadmin,无意中发现有几个操作可选,像优化数据表和对表进行flush操作。果真起了作用。
具体操作是:
1.选择目标表,点击Operations,找到下面的Table maintenance列表。这里提供了几个数据表的修复选项。
2.点击 Optimize Table,之后会执行sql语句: OPTIMIZE TABLE target_table.
3.之后再回到Operations。找到Flush the table ("FLUSH")。之后会执行sql语句:
FLUSH TABLE target_table。 
至此可以将AUTO_INCREMENT设置到一个不是很大的可以接收的值。

项目中使用JPA,数据库是自动创建的,至于为什么在创建表之后AUTO_INCREMENT的值会被设置为一个最大值,到现在还没有弄清楚。不知道是数据库自身的问题还是程序中出现了错误。

只是做个记录,方便日后查询。如果有人遇到类似的问题,希望可以交流下。

================================================================
在发布这个文章之后,本人还是没有找出具体的原因出来,索性将数据库升级试下,原来的版本是5.1.28, 升级数据库之后的版本是5.1.43.再次rebuilt数据库,发现问题没有了。果真是mysql数据库的一个bug啊。
分享到:
评论

相关推荐

    数据插入异常

    在进行MySQL数据库操作时,可能会遇到“Failed to read auto-increment value from storage engine”这样的错误提示。此错误通常发生在尝试向设置了自动增长(AUTO_INCREMENT)属性的字段插入数据时。 #### 二、...

    前端开源库-mongoose-auto-increment

    **mongoose-auto-increment** 是一个前端开源库,专为Mongoose设计,用于在数据库操作中实现自增字段的功能。Mongoose是Node.js中流行的Object Data Modeling (ODM) 库,它提供了对MongoDB数据库的强大支持。这个...

    主键自增长(AUTO-INCREMENT)

    主键自增长(AUTO_INCREMENT)

    mongoose_auto_increment:Mongoose 自动增长列插件

    mongoose_auto_increment 创建一个Counter用来记录所有Collections增长数,以Mongoose plugin的方式与对应的Scheme相关联,以此实现Mongoose自动增长列

    MySQL AUTO_INCREMENT 主键

    ### MySQL AUTO_INCREMENT 主键详解 在数据库设计与应用中,主键是确保数据表每一行记录唯一性的关键机制之一。而`AUTO_INCREMENT`属性则是在MySQL数据库系统中为某些整数类型的主键自动分配唯一值的功能。下面我们...

    MySQL查询和修改auto_increment的方法

    在MySQL数据库中,`auto_increment` 是一个非常重要的特性,它允许系统自动为新插入的行生成唯一的标识符,通常用于主键字段。这个特性在处理大量数据时尤其有用,因为它消除了手动设置唯一ID的需求。下面我们将深入...

    mongoose-autoincrement:用于自动递增编号ID的Mongoose插件

    猫鼬自动递增 Mongoose插件,用于自动递增编号ID。 安装 npm install --save mongoose-autoincrement 用法 var mongoose = require ( 'mongoose' ) ; var autoincrement = require ( 'mongoose-autoincrement' ) ;...

    Laravel开发-increment-decrement .zip

    在本压缩包文件“Laravel开发-increment-decrement .zip”中,可能包含了一些关于如何在Laravel项目中使用这两个方法的示例、代码片段或者教程。 1. **increment() 方法** - `increment()` 方法用于将指定列的值...

    gh-action-increment-value

    如何使用如果您在foobar/baz目录中具有以下build-number.json文件: {"buildNumber":3}.github/workflows目录中的increment.yaml .github/workflows YAML文件的.github/workflows如下: name : Increment value test...

    release-it, 用于Git仓库和npm软件包的CLI发布工具.zip

    npx release-it --increment=minor ``` **社区与开源:** 作为开源项目,`release-it` 在GitHub上维护,开发者可以自由查看源代码、提交问题、提出改进或贡献代码。开源社区的支持使得`release-it` 不断发展和完善...

    beego-self-increment代码.zip

    Id int64 `orm:"auto"` Name string `orm:"size(100)"` } ``` 在此例子中,`Id`字段将自动递增,每次插入新的`MyModel`实例时,ORM会自动处理ID的生成。 为了进一步了解`increment.go`文件的具体实现,你需要...

    Laravel开发-increment-decrement

    在Laravel框架中,`increment()` 和 `decrement()` 是两个非常实用的方法,它们用于方便地更新数据库中记录的数值字段。这两个方法主要用于处理计数器或者评分等需要增减的场景,使得开发者无需编写复杂的SQL语句就...

    magic-increment:字符串的递增和递减

    魔法增量 字符串的递增和递减。 安装 在浏览器中: < script src =" magic-increment.js " > </ script > ... script src =" magic-increment.min.js ... @param {string}里value要增量。 @return { strin

    vim-visual-increment:visual-increment.vim-使用CTRL + AX通过可视模式创建数字或字母的递增序列

    **vim-visual-increment 插件详解** 在程序员和文本编辑者的世界里,Vim 是一个备受推崇的文本编辑器,以其高效的操作和强大的自定义性而闻名。在这个环境中,提高生产力的一个关键因素就是快捷键的熟练运用。`vim-...

    NX二次开发UF-ASSEM-set-step-increment 函数介绍

    NX二次开发UF_ASSEM_set_step_increment 函数介绍,Ufun提供了一系列丰富的 API 函数,可以帮助用户实现自动化、定制化和扩展 NX 软件的功能。无论您是从事机械设计、制造、模具设计、逆向工程、CAE 分析等领域的...

    NX二次开发UF-ASSEM-ask-step-increment 函数介绍

    NX二次开发UF_ASSEM_ask_step_increment 函数介绍,Ufun提供了一系列丰富的 API 函数,可以帮助用户实现自动化、定制化和扩展 NX 软件的功能。无论您是从事机械设计、制造、模具设计、逆向工程、CAE 分析等领域的...

    python mysql自增字段AUTO_INCREMENT值的修改方式

    print("AUTO_INCREMENT value has been updated to 2.") except Error as e: print("Error while updating AUTO_INCREMENT value", e) ``` 通过以上步骤,我们可以在Python脚本中控制并修改MySQL表的AUTO_...

    8051助记符/地址对照表

    POP - Pop Value From Stack PUSH - Push Value Onto Stack RET - Return From Subroutine RETI - Return From Interrupt RL - Rotate Accumulator Left RLC - Rotate Accumulator Left Through Carry RR - Rotate ...

    auto-text-increment

    Create React App入门 该项目是通过引导的。 可用脚本 在项目目录中,可以运行: yarn start 在开发模式下运行应用程序。 打开在浏览器中查看它。 如果您进行编辑,则页面将重新加载。 您还将在控制台中看到任何...

Global site tag (gtag.js) - Google Analytics