MySQL 自增主键

190 篇文章 6 订阅
183 篇文章 1 订阅
本文介绍了MySQL中如何创建和修改自增主键,包括使用AUTO_INCREMENT关键字设置自增主键,以及在InnoDB和MyISAM引擎间的差异。在MySQL8.0之前,InnoDB在重启后会从当前最大索引值开始,而MyISAM则从建表以来的最大值开始。但现在两者行为已统一。此外,文章还提到了自增主键的内存存储与持久化特性。
摘要由CSDN通过智能技术生成

1、创建

在创建主键的时候可以使用AUTO_INCREMENT关键字进行自增主键设置,设置之后,每插入一条数据之后主键都会自动累加1

使用AUTO_INCREMENT=100可以在表级别设定偏移量,比如这里设定为100,即从100开始累加

2、修改AUTO_INCREMENT值

ALTER TABLE tableName AUTO_INCREMENT = n

3、自增主键在innodb引擎与myisam引擎差别

现象

重启后,innodb采用当前最大索引值,myisam采用建表以来最大索引值。

比如,table_innodb当前最大索引为8,删除最后一条,当前最大为7,重启,table_innodb索引会从8开始,而不是9。

同样的操作,table_myisam重启之后会从9开始

Mysql8.0之后得以修复,innodb与myisam引擎表现一致

原因

innodb将AUTO_INCREMENT值存储在内存里面,并没有做持久化

myisam会将AUTO_INCREMENT持久化存放在磁盘里

先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值