每次删除 table 中的行时, Auto_increment 将在下一次插入时重置为 1
Everytime when the rows in table are deleted, The Auto_increment will be reset to 1 at the next insert
我正在开发 MySql 5.6.19-log,Windows 7 Ultimate,X64。这件事让我困惑了很久,事情是这样的:
创建table时,我总是为主键设置一个Auto_Increment,比如100001,当我插入一些行,删除一些东西时它工作正常.....,但如果我删除所有的行,然后下次我要插入这个 table 时,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 |
+-------+------+
Mysql Alter Table
上的手册页
我正在开发 MySql 5.6.19-log,Windows 7 Ultimate,X64。这件事让我困惑了很久,事情是这样的:
创建table时,我总是为主键设置一个Auto_Increment,比如100001,当我插入一些行,删除一些东西时它工作正常.....,但如果我删除所有的行,然后下次我要插入这个 table 时,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 |
+-------+------+
Mysql Alter Table
上的手册页