重置mysql自增长字段
我们知道mysql没有类似oracle的sequence特性,设置的自增长需要使用auto_increment,这个属性是基于会话的,每个会话连接库后跟新表都会使用自己会话的auto_increment_id,当我们需要重置自增长ID,使其从1开始计数,我们需要如下操作。
环境描述:
表test(id int,name varchar2(10))
1、查询表的状态,包括自增长属性
SELECT * FROM information_schema.tables WHERE table_name='test';
查询后auto_increment标识为1
2、插入几条数据
insert into test(name) values('a');
insert into test(name) values('b');
insert into test(name) values('c');
insert into test(name) values('d');
3、查询表状态
SELECT * FROM information_schema.tables WHERE table_name='test';
查询后auto_increment标识为5,再插入新的数据id就会是5
4、这时我们清空表的数据,从新连接会话都会仍然记录5
5、重置auto_increment
ALTER TABLE test AUTO_INCREMENT=1;
前提是清空表后再执行
在查询表的状态
auto_increment标识为1
这时才将属性置回1
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26252014/viewspace-758051/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/26252014/viewspace-758051/