mysql 主键自增_mysql自增主键在大量删除后如何重新设置避免断层

一般在设计数据表结构的时候,我们经常使用int来作为表的主键,并且让他自动增长,那么这样就会导致id出现中间断层的问题,那么如何解决呢,请继续往下看。

假设,我们有一张表为aa,我们来查找id,代码如下

select * from aa;+----+| id |+----+|  1 ||  2 ||  3 ||  4 ||  5 ||  6 ||  7 ||  8 ||  9 |+----+

这时候id值并未断层,每次都在+1,我们删除掉7和8 ,然后再次执行sql,代码如下:

delete from aa where id in (7,8);select * from 删除两条数据,再次添加后断层了

这时候我们发现新增的一条数据id是10,少了7和8两个id,那么我们怎么操作才能让他从7开始呢。这个时候AUTO_INCREMENT已经变为了9,不管你删除多少条,它都将从9开始增加。我们修改一下这个数值。请继续向下看:

alter table aa auto_increment=7;insert into aa values(null);select * from aa;+----+| id |+----+|  1 ||  2 ||  3 ||  4 ||  5 ||  6 ||  7 ||  9|+----+    

我们看到,这时候7回来了,新增的一条数据从6开始+1变成了7.因此,我们只需要修改这个代码就可以了。

alter table aa auto_increment=6;

到此我们的讲解就结束了,欢迎收看。

c8a153741fae4f2cf8df07216ce832b8.png


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部