方法一: delete from tb1;
ALTER TABLE tbl AUTO_INCREMENT = 100
注意:如果表列和数据很多, 速度会很慢, 如90多万条, 会在10分钟以上.
方法二: truncate tb1;
重置mysql的自增列 的步骤如下:
1. 支持设置自增列的值 ;
ALTER TABLE table_name AUTO_INCREMENT = 1
这种方式只能设置大于当前使用的值,不能设置小于等于当前已经使用的自增列的值。myisam如果设置小于等于,则自增列的值会自动设置为 :
当前最大值加1,innodb则不会改变。
2.通过TRUNCATE把自增列设置为0,从MySQL 5.0.13开始TRUNCATE重置自增列为0.myisam和innode都一样。
TRUNCATE TABLE table_name
3.drop和create重建表方式重置自增列为0
DROP TABLE table_name
CREATE TABLE table_name { ... }
使用两种方法重置mysql的自增列AUTO的好处有:
方法一:可设置 AUTO_INCREMENT 为任意值开始;
方法二:简单, AUTO_INCREMENT 值重新开始计数;
注意:使用以上方法都会将现有数据删除.
alter table questionlib modify id int(11) auto_increment
注意事项:
修改后从下一条记录开始自动增长。如果想让原来的自动增长就得复制现有表的结构(无id),添加id并加上AUTO_INCREMENT,然后通过循环,添加n条空记录,然后对应先前表的id,依次插入数据。
扩展资料:mysql自动增长开始值设置总结
1、创建表,设置表主键id自动增长,默认自动增长的起始值为1开始。
2、当表数据不为空的时候,重新去修改自动增长id开始值,mysql会主动去核对你设置的起始值是否是当前数据库已有id的最大值+1若是则修改成功,若不是则修改不成功 (默认还是id最大值+1)
3、要设置自动增长为1开始,需要清空表数据才行。alter table table_name AUTO_INCREMENT=1
4、若每次直接在数据库里面插入数据,则会自动的去修改当前表的自动增长起始值(设置自动增长起始值为当前插入成功的数据的id)
1 清空所有数据,将自增去掉,存盘,在加上自增,存盘,就从1开始了如何让mysql的自动编号从1开始
2 truncate table 你的表名
这样不但将清除数据,而且可以重新位置identity属性的字段
不过以上都不能保留现有数据哦。
以下为设置MySQL自动增长从某个指定的数开始
1 创建表的时候就设置:
CREATE TABLE `Test` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`class` varchar(2) NOT NULL,
`NAME` varchar(50) NOT NULL,
`SEX` varchar(2) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=MEMORY AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC
2 如果在创建表时没有设置,后来想设置,可以通过修改实现:
alter table Test auto_increment = 1000
分类: mysql
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)