mysql自增主键在大量删除后如何重新设置避免断层
2017-07-29 13:14
267 查看
select * from tt;
+----+
| id |
+----+
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
delete from tt where id=8;
Query OK, 1 row affected (0.01 sec)
delete from tt where id=9;
Query OK, 1 row affected (0.01 sec)
>insert into tt values(null);
Query OK, 1 row affected (0.01 sec)
select * from tt;
+----+
| id |
+----+
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 10 |
+----+
看到新插入的记录是在10开始的不是在8开始,如果想要在8开始,需要在删除数据后,重置下自动增长的位置
delete from tt where id=10;
Query OK, 1 row affected (0.01 sec)
alter table tt auto_increment=8
-> ;
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0
insert into tt values(null);
Query OK, 1 row affected (0.00 sec)
select * from tt;
+----+
| id |
+----+
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
+----+
8 rows in set (0.01 sec)
看到在重新设置后,自增主键是在8开始了,这样可以避免出现id断层
+----+
| id |
+----+
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
delete from tt where id=8;
Query OK, 1 row affected (0.01 sec)
delete from tt where id=9;
Query OK, 1 row affected (0.01 sec)
>insert into tt values(null);
Query OK, 1 row affected (0.01 sec)
select * from tt;
+----+
| id |
+----+
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 10 |
+----+
看到新插入的记录是在10开始的不是在8开始,如果想要在8开始,需要在删除数据后,重置下自动增长的位置
delete from tt where id=10;
Query OK, 1 row affected (0.01 sec)
alter table tt auto_increment=8
-> ;
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0
insert into tt values(null);
Query OK, 1 row affected (0.00 sec)
select * from tt;
+----+
| id |
+----+
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
+----+
8 rows in set (0.01 sec)
看到在重新设置后,自增主键是在8开始了,这样可以避免出现id断层
相关文章推荐
- mysql自增主键在大量删除后如何重新设置避免断层
- mysql如何设置主键和外键,实现级联更新、级联删除
- 误删除mysql中的所用用户,如何重新设置root账号和密码
- mysql复制日志删除设置和解决主键冲突的方法
- MySQL:有关联的两张表重新生成主键如何关联
- 为mysql 表重新设置自增的主键id
- [乐意黎转载]mysql删除记录时如何让自动递增的字段重新排序
- mysql 5.6忘记root密码之后如何重新设置密码
- SVN的搭建及使用(三)用TortoiseSVN修改文件,添加文件,删除文件,以及如何解决冲突,重新设置用户名和密码等
- 如何避免mysql 主从同步中由于数据记录找不到和主键重复错误导致的同步异常问题
- mysql忘记root密码如何重新设置
- mysql 如何修改、添加、删除表主键
- mysql 如何修改、添加、删除表主键
- MySQL:有关联的两张表重新生成主键如何关联
- SQL删除主键,重新设置主键,查看当前主键值到哪了,主键归0
- 如何删除mysql 主键索引
- mysql 如何修改、添加、删除表主键
- mysql自增长主键,删除数据后,将主键顺序重新排序
- mysql忘记密码,如何重新设置
- mysql 如何避免乱码设置