为什么mysql事务回滚后,自增ID依然自增
2024-08-31 17:41:11
因为innodb的auto_increament的计数器记录的当前值是保存在存内 存中的,并不是存在于磁盘上,当mysql
server处于运行的时候,这个计数值只会随着insert改增长,不会随着delete而减少。而当mysql
server启动时,当我们需要去查询auto_increment计数值时,mysql便会自动执行:SELECT MAX(id) FROM 表名
FOR UPDATE;语句来获得当前auto_increment列的最大值,然后将这个值放到auto_increment计数器中。所以就算
Rollback MySQL的auto_increament计数器也不会作负运算。
最新文章
- 编写具有单一职责(SRP)的类
- 最好用的JQuery插件集合以及组合拳
- 理解Docker容器的进程管理
- ModifyInfo.aspx.cs代码
- SIGPIPE信号详解
- iOS 后台定位被拒注意事项
- Redmine是用Ruby开发的基于web的项目管理软件,是用ROR框架开发的一套跨平台项目管理系统
- java NumberForMate的使用
- Android 通过Dom, Sax, Pull解析网络xml数据
- UltraEdit MAC破解方法
- 使用ghost装完系统后出现“引用了一个不可用的位置”
- 表格模型的监听 TableModelListener
- laravel启动过程简单解析
- scala 基础
- 进程中的Manager(),实现多进程的数据共享与传递
- table中td的内容换行。
- LSTM(Long Short-Term Memory)长短期记忆网络
- sql 存储过程导出指定数据到.txt文件(定时)
- Jenkins+Ant+TestNG+Testlink自动化构建集成
- QT学习笔记6:常见的 QGraphicsItem
热门文章
- WPF DataGrid 使用CellTemplateSelector 时SelectTemplate方法Item参数为NULL
- Prometheus Alertmanager 介绍详解
- 用pyenv管理Python多版本及下载加速方法--Mac上
- 详解Vue中的虚拟DOM
- Python之路(第四十五篇)线程Event事件、 条件Condition、定时器Timer、线程queue
- C++ http服务
- pytorch报错:ValueError: Expected more than 1 value per channel when training, got input size torch.Size([1,512,1,1])
- 十一、yield生成器
- springboot easypoi 报错The bean 'beanNameViewResolver', defined in class path resource [cn/afterturn/e
- python 和 R 语言中的等差数列