怎么重置mysql的自增列AUTO

怎么重置mysql的自增列AUTO,第1张

重置mysql的自增列AUTO的方法有:

方法一: 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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6180639.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-17
下一篇 2023-03-17

发表评论

登录后才能评论

评论列表(0条)

保存