分享更有价值
被信任是一种快乐

MySQL数据库auto_increment自增值回溯

文章页正文上

本篇内容介绍了“MySQL数据库auto_increment自增值回溯”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!# 创建关于表t,其中a字段为主键自增mysql> create table t(a bigint primary key auto_increment, b tinyint);Query OK, 0 rows affected (0.03 sec)# 插入一些数据mysql> insert into t select null, 10;Query OK, 1 row affec免费主机域名ted (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 NU免费主机域名LL 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自增值回溯”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注云技术网站,小编将为大家输出更多高质量的实用文章!

相关推荐: linux命令ifconfig的详细解释

这篇文章主要讲解了“linux命令ifconfig的详细解释”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux命令ifconfig的详细解释”吧!许多windows非常熟悉ipconfig命令行工具,它被…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册