我正在使用MySql 5.6.19日志,Windows 7 Ultimate,X64。这个东西让我很困惑了,这是这个东西:

创建表时,我总是为主键设置一个Auto_Increment,例如100001,当我插入一些行,删除某些内容.....时,它可以很好地工作,但是如果我删除了所有行,那么下次我去时要插入此表,Auto_Increment将重置为1。

我不知道为什么,搜寻了很多却没有任何用处。

希望有人可以帮助我!!!谢谢!!!

最佳答案

截断后运行alter table

create table t123
(   id int auto_increment primary key,
    colB varchar(40) not null
) AUTO_INCREMENT=10000;


insert t123(colB) values ('a'),('b');
select * from t123;
+-------+------+
| id    | colB |
+-------+------+
| 10000 | a    |
| 10001 | b    |
+-------+------+

truncate table t123;

insert t123(colB) values ('a'),('b');
select * from t123;
+----+------+
| id | colB |
+----+------+
|  1 | a    |
|  2 | b    |
+----+------+

truncate table t123;
alter table t123 auto_increment=10000; -- fire this off

insert t123(colB) values ('a'),('b');
select * from t123;
+-------+------+
| id    | colB |
+-------+------+
| 10000 | a    |
| 10001 | b    |
+-------+------+


Alter Table上的Mysql手册页

关于mysql - 每次删除表中的行时,下次插入时Auto_increment都会重置为1。,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34097061/

10-11 03:32