zoukankan      html  css  js  c++  java
  • mysql自增主键在大量删除后如何重新设置避免断层

    alter table tt auto_increment=8;

    表tt

    mysql> select * from tt;
    +----+
    | id |
    +----+
    |  1 |
    |  2 |
    |  3 |
    |  4 |
    |  5 |
    |  6 |
    |  7 |
    |  8 |
    |  9 |
    +----+
    9 rows in set (0.00 sec)
    
    

    删除两条数据,再次添加后断层了

    mysql> delete from tt where id=8;
    Query OK, 1 row affected (0.05 sec)
    
    mysql> delete from tt where id=9;
    Query OK, 1 row affected (0.04 sec)
    
    mysql> insert into tt values(null);
    Query OK, 1 row affected (0.08 sec)
    
    mysql> select * from tt;
    +----+
    | id |
    +----+
    |  1 |
    |  2 |
    |  3 |
    |  4 |
    |  5 |
    |  6 |
    |  7 |
    | 10 |
    +----+
    8 rows in set (0.00 sec)
    
    

    如何重新从8开始呢?这个时候AUTO_INCREMENT已经变为了11,不管你删除多少条,它都将从11开始增加。我们修改一下这个数值。

    mysql > show create table tt;
    +-------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
    | Table | Create Table                                                                                                                                            |
    +-------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
    | tt    | CREATE TABLE `tt` (
      `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 |
    +-------+---------------------------------------------------------------------------------------------------------------------------------------------------------+
    1 row in set (0.00 sec)
    
    
    mysql> alter table tt auto_increment=8;
    Query OK, 0 rows affected (0.04 sec)
    Records: 0  Duplicates: 0  Warnings: 0
    
    mysql> insert into tt values(null);
    Query OK, 1 row affected (0.08 sec)
    
    mysql> select * from tt;
    +----+
    | id |
    +----+
    |  1 |
    |  2 |
    |  3 |
    |  4 |
    |  5 |
    |  6 |
    |  7 |
    |  8 |
    +----+
    8 rows in set (0.00 sec)
    
    
  • 相关阅读:
    matlab--“下标索引必须为正整数类型或逻辑类型”
    将中缀表达式转化为后缀表达式
    MATLAB那些常见的命令
    关于实现线程同步的几种方式
    关于http协议
    小白学习之activiti工作流入门
    小白- jquery 学习笔记
    小白-Javascript学习笔记
    小白-css笔记
    小白- html笔记
  • 原文地址:https://www.cnblogs.com/jiqing9006/p/9008180.html
Copyright © 2011-2022 走看看