alter table tablename auto_increment = 1;
这个命令不会改动现有的表的内容和顺序,同时新插入行的id会先使用已删除的id,完美填补空缺id。

但这样按id排序就不一定是id大的写入时间晚了。

对于表格内某些行删除之后,id不连续这个问题完全无法容忍,一开始使用
TRUNCATE TABLE tablename
来实现id从头自增,但是这个命令同时也会清空整个表 。

 不连续

是因为mysql AUTO_INCREMENT有预分配,先申请,后使用,申请了没使用就跳了, 比如inser ignore 语句,因为有插入语句,所以一开始mysql就会给分配一个自增id,即便你没执行插入成功语句,下次再插入的时候就会调健 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐