mysql自增长ID字段丢失问题及解决

IT 文章1天前发布 小编
0 0 0

本文主要讲解关于mysql自增长ID字段丢失问题及解决相关内容,由优网导航(www.uonce.com)提供,欢迎关注收藏本站!

之前面试的时候遇到一个问题,因为平时自己都是用的mysql 8.0+ 版本所以这里踩了一个坑记录一下

ad

程序员导航

优网导航旗下整合全网优质开发资源,一站式IT编程学习与工具大全网站

一、场景

假如在对一个有自增长ID的一个表新增 id分别为 1,2,3,4,5数据时,在进行删除id 为5的数据成功后

mysql 宕机了,重启了对这张表重新插入数据,那么这个自增长ID 会从多少开始

二、场景分析

ad

AI 工具导航

优网导航旗下AI工具导航,精选全球千款优质 AI 工具集

1.针对于innodb(MYSQL 事务存储引擎)

在mysql 8.0 版本之前,mysql对于自增长ID属性auto-increment 的值都是存储在内存中的,当mysql发生重启或者宕机的情况下,内存中的值会丢失,这个属性就会被重新计算,计算方式是max(自增长id)+1

在mysql 8.0 之前 针对这个问题进行了修复,把属性auto-increment 放入到了本地磁盘中进行一个持久化的操作

2.对于MyISAM(MYSQL 非事务存储引擎)

MyISAM 的话在mysql 8.0和8.0之后都不会发生自增ID丢失的情况

总结

例如:

ad

免费在线工具导航

优网导航旗下整合全网优质免费、免注册的在线工具导航大全

上述问题主要需要根据mysql版本和不同存储引擎是否对自增长ID进行一个持久化操作来进行分析不同的情况

以上为个人经验,希望能给大家一个参考,也希望大家多多支持优网导航。

您可能感兴趣的文章:

  • MySQL报错1067 :Invalid default value for ‘字段名’
  • Mysql ERROR 1067: Invalid default value for字段问题
  • MySQL count(*),count(id),count(1),count(字段)区别
  • Mysql中count(*)、count(1)、count(主键id)与count(字段)的区别

相关推荐: Edge浏览器开发者工具代码修改同步到Vscode中

本文主要讲解关于Edge浏览器开发者工具代码修改同步到Vscode中相关内容,由优网导航(www.uonce.com)提供,欢迎关注收藏本站! 浏览器调试修改的代码 大家好,我是零一,你们一定一定一定遇到过这样一个情况: 假设我们在浏览器的开发者工具调试自己写…

© 版权声明

相关文章

暂无评论

暂无评论...