zoukankan      html  css  js  c++  java
  • MySQL auto_increment_increment 和 auto_increment_offset

    参考这一篇文章:(不过我对这一篇文章有异议)

    http://blog.csdn.net/leshami/article/details/39779509

    1:搭建测试环境

    create table t
    (t int(10) primary key auto_increment);

    mysql> show variables like '%increment%';
    +-----------------------------+-------+
    | Variable_name               | Value |
    +-----------------------------+-------+
    | auto_increment_increment    | 1     |
    | auto_increment_offset       | 1     |
    | div_precision_increment     | 4     |
    | innodb_autoextend_increment | 8     |
    +-----------------------------+-------+
    4 rows in set (0.00 sec)
    

    执行3次插入操作,作为测试数据

    insert into t values ();

    insert into t values ();

    insert into t values ();

    #插入3个测试数据

    mysql> select * from t;
    +---+
    | t |
    +---+
    | 1 |
    | 2 |
    | 3 |
    +---+
    3 rows in set (0.00 sec)
    

    2:修改步长为5

    mysql> set auto_increment_increment=5;
    Query OK, 0 rows affected (0.00 sec)

    mysql> show variables like '%increment%';
    +-----------------------------+-------+
    | Variable_name               | Value |
    +-----------------------------+-------+
    | auto_increment_increment    | 5     |
    | auto_increment_offset       | 1     |
    | div_precision_increment     | 4     |
    | innodb_autoextend_increment | 8     |
    +-----------------------------+-------+
    4 rows in set (0.00 sec)
    

    然后执行三次插入操作:

    mysql> insert into t values();
    Query OK, 1 row affected (0.00 sec)

    mysql> insert into t values();
    Query OK, 1 row affected (0.00 sec)

    mysql> insert into t values();
    Query OK, 1 row affected (0.00 sec)

    mysql> select * from t;
    +----+
    | t  |
    +----+
    |  1 |
    |  2 |
    |  3 |
    |  6 |
    | 11 |
    | 16 |
    +----+
    6 rows in set (0.00 sec)


    结论:初始值为1:步长:1,改为初始值1:步长:5。之后数值从3变到6了。
    ###################################################################
    #插入4个测试数据,然后改步长为5.然后再插入一次数据。

    mysql> select * from t;
    +---+
    | t |
    +---+
    | 1 |
    | 2 |
    | 3 |
    | 4 |
    | 6 |
    +---+
    5 rows in set (0.00 sec)
    

    可以看到当之前的数据量小于步长5时候,新插入的数据还是6

    ###################################################################


    ###################################################################
    #插入5个测试数据,然后改步长为5,然后再插入一次数据。

    mysql> select * from t;
    +----+
    | t  |
    +----+
    |  1 |
    |  2 |
    |  3 |
    |  4 |
    |  5 |
    |  6 |
    | 11 |
    +----+
    7 rows in set (0.00 sec)
    

    可以看到当,之前的数据量小于步长5的时候,插入的新数据还是6。

    ###################################################################

    ###################################################################
    插入6个测试数据,然后改步长为5,然后再插入一次数据。直接变为11了。

    mysql> select * from t;
    +---+
    | t |
    +---+
    | 1 |
    | 2 |
    | 3 |
    | 4 |
    | 5 |
    | 6 |
    +---+
    6 rows in set (0.00 sec)
    
    mysql> set auto_increment_increment=5;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> show variables like '%increment%';
    +-----------------------------+-------+
    | Variable_name               | Value |
    +-----------------------------+-------+
    | auto_increment_increment    | 5     |
    | auto_increment_offset       | 1     |
    | div_precision_increment     | 4     |
    | innodb_autoextend_increment | 8     |
    +-----------------------------+-------+
    4 rows in set (0.00 sec)
    
    mysql> insert into t values ();
    Query OK, 1 row affected (0.00 sec)
    
    mysql> select * from t;
    +----+
    | t  |
    +----+
    |  1 |
    |  2 |
    |  3 |
    |  4 |
    |  5 |
    |  6 |
    | 11 |
    +----+
    7 rows in set (0.00 sec)
    

    ###################################################################
    第一次是插入了3个测试数据,然后改步长为5,然后再插入数据为6;第二次插入4个测试数据,然后改步长为5,然后再插入数据还是6;插入5个测试数据,然后改步长为5,然后再插入数据还是6;插入6个测试数据,然后改步长为5,就变为11了。
    如果前面的数据小于等于步长,那么改步长后新插入的数据就是步长+初始值。如果大于步长,则直接在此基础上增长.


    ################################################################################
    delete from 删除后,仍然在原来基数上增长。
    ################################################################################

  • 相关阅读:
    stand meeting
    ubuntu14.04安装百度云Bcloud
    4.1Reduction模型
    3.3分析卷积乘法优化的复用
    3.2 卷积
    3.1 全局存储带宽与合并访问 -- Global Memory(DRAM) bandwidth and memory coalesce
    AngularJS初探:搭建PhoneCat项目的开发与测试环境
    Centos 安装 NodeJS
    git安装
    CentOS安装VSFTP及配置用户
  • 原文地址:https://www.cnblogs.com/xiaoit/p/4443046.html
Copyright © 2011-2022 走看看