先说明:本文主要讲述的是 如何删除末尾数据后,自增数从末尾自增数开始自增,而不是内置计数器继续自增。
前言:
一般mysql我们都会设置一个自增数作为主键。测试时难免需要插入删除数据。但是当我们删除测试数据后,会发现自增数不是从末尾自增数开始自增,而是继续内置计数自增。有时我们并不希望自增数间隔过大。例如:几百行数据后面插错了100多条数据的时候需要删除(编号原本正常的1数到400,突然跳到500开始计数,其实挺bug的)。
测试表:

测试数据:

tx*都是测试账号。需要删除它们。但当新用户注册时,却自动从10开始,而不是接着5。

方法一:清空数据库【这会清空数据!这会清空数据!这会清空数据!】
truncate TABLE 表名;
这种方法会重置该表,相比delete表格 这会重置自增数。
方法二:重新设计表【大概是我原创方法,毕竟网上没看到有人测试过】
ps:我是图形化界面操作的,此处只写步骤,具体mysql语句未知,之后研究下。
1、设计该表,把“自动递增”的选项取消掉。提交。

2、重新勾选“自动递增”。提交。

3、我们插入新用户试试吧。

很好,从原来最后数据的自增数开始自增了。
EX:如果希望全部重新编号。我建议还是重新加个自动递增的字段合适。
如果通过“清除自增数 -> 取消自动递增、主键、不是空 -> 提交 -> 重新设置自增数、主键、不是空 -> 提交”
虽然可以重新编号。但很容易导致数据错乱,特别是多表关联的时候。
后记:
以上是楼主基于图形化界面工具的测试结果。楼主对mysql不算太熟悉。具体步骤的mysql语句是不清楚的。当数据量巨大,这种改字段属性的方法是否会效率低下也是不清楚的。欢迎高手们提点。
转载请注明出处。 https://my.oschina.net/jacky326/blog/3076262
5571




被折叠的 条评论
为什么被折叠?



