MySQL数据库auto_increment自增值回溯


本篇内容介绍了“MySQL数据库auto_increment自增值回溯”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!# 创建关于表t,其中a字段为主键自增mysql> create table t(a bigint primary key auto_increment, b tinyint);Que开发云主机域名ry OK, 0 rows affected (0.03 sec)# 插入一些数据mysql> insert into t select null, 10;Query OK, 1 row affected (0.00 sec)Records: 1Duplicates: 0Warnings: 0mysql> insert into t select null, 20;Query OK, 1 row affected (0.00 sec)Records: 1Duplicates: 0Warnings: 0mysql> insert into t select null, 30;Query OK, 1 row affected (0.00 sec)Records: 1Duplicates: 0Warnings: 0mysql> insert into t select null, 40;Query OK, 1 row affected (0.00 sec)Records: 1Duplicates: 0Warnings: 0# 查看表记录mysql> select * from t;+—+——+| a | b|+—+——+| 1 |10 || 2 |20 || 3 |30 || 4 |40 |+—+——+4 rows in set (0.00 sec)# 删除最后一条数据mysql> delete from t where a=4;Query OK, 1 row affected (0.02 sec)# 查看表创建语句,发现AUTO_INCREMENT=5mysql> show create table tG*************************** 1. row ***************************Table: tCreate Table: CREATE TABLE `t` (`a` bigint(20) NOT NULL AUTO_INCREMENT,`b` tinyint(4) DEFAULT NULL,PRIMARY KEY (`a`)) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin11 row in set (0.00 sec)# 进行主键回溯模拟# 重启数据库[root@mysql ~]# service mysqld restartShutting down MySQL.. SUCCESS!Starting MySQL. SUCCESS!# 重新查看表创建语句,发现AUTO_INCREMENT=4mysql> show create table tG*************************** 1. row ***************************Table: tCreate Table: CREATE TABLE `t` (`a` bigint(20) NOT NULL AUTO_INCREMENT,`b` tinyint(4) DEFAULT NULL,PRIMARY KEY (`a`)) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin11 row in set (0.00 sec)# 继续插入语句mysql> insert into t select null, 50;Query OK, 1 row affected (0.00 sec)Records: 1Duplicates: 0Warnings: 0# 查看表的数据,发现上述自增ID=4又重新出现mysql> select * from t;+—+——+| a | b|+—+——+| 1 |10 || 2 |20 || 3 |30 || 4|50 |+—+——+4 rows in set (0.00 sec)这是因为在MySQL5.7中的表的AUTO_INCREMENT是基于内存,不会持久化在磁盘中,每次启动数据库时,会对每张表进行max(auto_increment) + 1重新作为该表下一次的主键ID的自增值。在MySQL8.0中就不会出现该问题,因为数据会在磁盘中持久化。“MySQL数据库auto_increment自增值回溯”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注开发云网站,小编将为大家输出更多高质量的实用文章!

相关推荐: spring事务及声明式事务的使用方法

这篇文章主要介绍spring事务及声明式事务的使用方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!本篇文章给大家带来的内容是关于如何理解spring事务及声明式事务的使用,包括数据库中的事物隔离级别,有一定的参考价值,有需要的朋友可以…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 06/20 19:04
下一篇 06/20 19:04

相关推荐