mysql auto 您所在的位置:网站首页 mysql新增一条记录 mysql auto

mysql auto

2024-07-17 09:10| 来源: 网络整理| 查看: 265

 

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 (关闭会话,再进行数据库操作不恢复到默认值)



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有