在MySQL的数据库设计中,一般都会设计自增的数字列,用作业务无关的主键。 在数据库出现频繁的删除操作或者清空操作之后,其自增的值仍然会自动增长,如果需要重新开始该如何做呢?

怎么重置mysql的自增列想必有很多的朋友都不会吧,刚好有个数据库垃圾数据一直在增,删点减轻数据库压力。下面与大家分享下常用的几种方法,不懂的朋友可以了解下哈,希望对大家有所帮助。

方法1

1
2
delete from tb1; 
ALTER TABLE tbl AUTO_INCREMENT = 100;

不过这种方式自能设置大于当前使用的值,不能设置小于等于当前已经使用的自增列的值。myisam如果设置小于等于,则自增列的值会自动设置为当前最大值加1,innodb则不会改变。

方法2

通过TRUNCATE把自增列设置为0,从MySQL 5.0.13开始TRUNCATE就能重置自增列为0。myisaminnode都是如此。

1
TRUNCATE TABLE table_name; 

方法3

dropcreate重建表方式重置自增列为0

1
2
DROP TABLE table_name; 
CREATE TABLE table_name { ... };

参考文档

www.jb51.net/article/109349.htm