zoukankan      html  css  js  c++  java
  • mysql auto_increment自增初始值与步长

    MySQl自增列起始与步长

    自增初始值

    一、alter的使用

    默认初始值为1 步长为1的情况

    1、建表

    2、插入数据

    当插入数据可以看到步长为1,起始值为1

     

     
    3.增加一列数据时

    默认在加上步长

     

     
    4.删除后在原表后增加一列数据的情况

    原表数据剔除后依旧在原基础上递增,这里和delete from 有关

     

     

     
    5.修改auto_increment后,插入一行数据后,原表递增情况

    alter table 表名 auto_Increment=n;

    (1)、未改变:原表内有一行数据 auto_increment修改 初始值依旧为1,步长为1

    (2)当原表内无数据时,auto_Increment alter后会发生改变

    初始值为设定值,步长依旧为1

    a、使用delete from 删除时

     

    b、使用truncate table use 删除时

     

    二、在新建表时设定auto_increment

    (1)、建表时设定auto_increment 的值初始值可变,步长不变

     

    步长

    自增步长

    基于会话级别:
    • show session variables like 'auto_inc%"; --查看会话步长

     

    • set session auto_increment_increment=4;

      这里新建了一个初始值为1的值,通过set sessionauto_increment_increment 步

    • set session auto_increment_offset=2; --设置自增起始值为2;

      通过truncate table user_set 后重新设定起始值

      可以看到这里起始值变成了2(由于上面设定了auto_increment_Increment的值,当前窗口口未结束,故步长还是为4)

       

    基于全局级别
    • show global variables like 'auto_inc%"; --查看全局步长

    • set global auto_increment_increment=3; --设置全局步长为3 (关闭会话,再进行数据库操作不恢复到默认值)

    • set global auto_increment_offset=2; --设置自增起始值为2;

    总结:

    设定自增初始值:

    • alter table 表名 auto_Increment=n 通过alter方法设定初始值

      • 如果原表有数据则自增初始值设定不生效

      • 如果原表无数据,或者delete、truncate了则alter设定依旧生效,步长某人为1

         

    • 建表时设定auto_increment=某值 即可设定初始值

      • 注意delete from 表格后,自增初始值会紧跟上次数

      • 使用truncate table 表格 则不会

         

    • 通过set session auto_increment_Increment =某值,可以改变该窗口会话下的初始值,同样注意是否原数据,以及删除方式delete 与truncate的区别

    • set global auto_increment_increment= 某值 ,改变全局步长,步推荐

       

    设定自增步长:

    • set session auto_increment_increment=4;

    • set global auto_increment_increment=3; --设置全局步长为3 (关闭会话,再进行数据库操作不恢复到默认值)

  • 相关阅读:
    独立构件风格之C2风格
    Mysql远程授权报语法错误
    Vuforia3D模型上传
    Hololens Vuforia 物体识别
    C盘无损分区
    MRTK 当进入某个物体时调用的函数
    Java实现斐波那契数列的两种方法
    Leetcode452. 用最少数量的箭引爆气球(排序+贪心)
    Java对二维数组排序
    帮你理清js的继承
  • 原文地址:https://www.cnblogs.com/yescarf/p/14019543.html
Copyright © 2011-2022 走看看