MySQL的系统变量或会话变量auto_increment_increment(自增步长)和auto_increment_offset(自增偏移量)控制着数据表的自增列ID。
  
  mysql> show tables;
  
  Empty set (0.00 sec)
  
  mysql> CREATE TABLE `test_tb1` ( `id` int(4) NOT NULL AUTO_INCREMENT PRIMARY KEY, `name` varchar(20)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  
  Query OK, 0 rows affected (0.16 sec)
  
  mysql> insert into test_tb1(name) values('Andy'),('Danny');
  
  Query OK, 2 rows affected (0.13 sec)
  
  Records: 2 Duplicates: 0 Warnings: 0
  
  mysql> select * from test_tb1;
  
  +----+-------+
  
  | id | name |
  
  +----+-------+
  
  | 1 | Andy |
  
  | 2 | Danny |
  
  +----+-------+
  
  2 rows in set (0.04 sec)
  
  mysql> show session variables like '%auto_incre%';
  
  +--------------------------+-------+
  
  | Variable_name | Value |
  
  +--------------------------+-------+
  
  | auto_increment_increment | 1 |
  
  | auto_increment_offset | 1 |
  
  +--------------------------+-------+
  
  2 rows in set (0.01 sec)
  
  mysql> set session auto_increment_increment=10;
  
  Query OK, 0 rows affected (0.00 sec)
  
  mysql> show session variables like '%auto_incre%'; -- 改变自增步长
  
  +--------------------------+-------+
  
  | Variable_name | Value |
  
  +--------------------------+-------+
  
  | auto_increment_increment | 10 |
  
  | auto_increment_offset | 1 |
  
  +--------------------------+-------+
  
  2 rows in set (0.01 sec)
  
  mysql> show global variables like '%auto_incre%'; -- 全局变量并没有变化
  
  +--------------------------+-------+
  
  | Variable_name | Value |
  
  +--------------------------+-------+
  
  | auto_increment_increment | 1 |
  
  | auto_increment_offset | 1 |
  
  +--------------------------+-------+
  
  2 rows in set (0.05 sec)
  
  mysql> truncate table test_tb1;
  
  Query OK, 0 rows affected (0.09 sec)
  
  mysql> insert into test_tb1(name) values('Andy'),('Bonny'),('Lisa'),('Jack'),('Robin');
  
  Query OK, 5 rows affected (0.06 sec)
  
  Records: 5 Duplicates: 0 Warnings: 0
  
  mysql> select * from test_tb1;
  
  +----+-------+
  
  | id | name |
  
  +----+-------+
  
  | 1 | Andy |
  
  | 11 | Bonny |
  
  | 21 | Lisa |
  
  | 31 | Jack |
  
  | 41 | Robin |
  
  +----+-------+
  
  5 rows in set (0.00 sec)
  
  获取指定数据表的下一个auto_increment自增值的两种方式:
  
  mysql> show table status \G
  
  *************************** 1. row ***************************
  
  Name: test_tb1
  
  Engine: InnoDB
  
  Version: 10
  
  Row_format: Dynamic
  
  Rows: 5
  
  Avg_row_length: 3276
  
  Data_length: 16384
  
  Max_data_length: 0
  
  Index_length: 0
  
  Data_free: 0
  
  Auto_increment: 51
  
  Create_time: 2018-12-19 14:43:53
  
  Update_time: 2018-12-19 14:54:23
  
  Check_time: NULL
  
  Collation: utf8_general_ci
  
  Checksum: NULL
  
  Create_options:
  
  Comment:
  
  1 row in set (0.00 sec)
  
  mysql> select auto_increment from information_schema.`TABLES` where table_name='test_tb1';
  
  +----------------+
  
  | auto_increment |
  
  +----------------+
  
  | 51 |
  
  +----------------+
  
  1 row in set (0.03 sec)
  
  auto_increment_increment和auto_increment_offset的取值范围: 1 ~ 65535,这个范围和自增列的值没关系,列的数据大小是对应的值类型控制的。
  
  mysql> set auto_increment_yongshiyule178.com increment=-1;
  
  Query OK, 0 rows affected, 1 warning (0.05 sec)
  
  mysql> show variables like '%auto_incre%'; -- 小于1时用默认最小值1
  
  +--------------------------+-------+
  
  | Variable_name | Value |
  
  +--------------------------+-------+
  
  | auto_increment_increment | 1 |
  
  | auto_increment_offset | 1 |
  
  +--------------------------+-------+
  
  2 rows in set (0.00 sec)
  
  mysql> set auto_increment_www.mcyllpt.com increment=65536;
  
  Query OK, 0 rows affected, 1 warning (0.00 sec)
  
  mysql> show variables like '%auto_incre%'; -- 大于65535时用默认最大值65536
  
  +--------------------------+-------+
  
  | Variable_name | Value |
  
  +--------------------------+-------+
  
  | auto_increment_increment | 65535 |
  
  | auto_increment_offset | 1 |
  
  +--------------------------+-------+
  
  2 rows in set (0.00 sec)
  
  mysql> truncate table test_tb1;
  
  Query OK, 0 rows affected (0.49 sec)
  
  mysql> insert into test_tb1(name) values('Andy'), ('Bonny'), ('Danny'), ('Jack'), ('Robin');
  
  Query OK, 5 rows affected (0.01 sec)
  
  Records: 5 Duplicates: 0 Warnings: 0
  
  mysql> select * from test_www.yigouyule2.cn tb1; -- 值可以大于65535
  
  +--------+-------+
  
  | id | name |
  
  +--------+-------+
  
  | 1 | Andy |
  
  | 65536 | Bonny |
  
  | 131071 | Danny |
  
  | 196606 | Jack |
  
  | 262141 | Robin |
  
  +--------+-------+
  
  5 rows in set (0.00 sec)
  
  mysql> truncate table test_tb1;
  
  Query OK, 0 rows www.michenggw.com affected (0.06 sec)
  
  mysql> insert into test_tb1(id, name) values(-3, 'Andy'), (-2, 'Bonny'), (-1, 'Danny');
  
  Query OK, 3 rows affected (0.06 sec)
  
  Records: 3 Duplicates: 0 Warnings: 0
  
  mysql> select * from test_tb1; -- 值可以小于1
  
  +----+-------+
  
  | id | name |
  
  +----+-------+
  
  | -3 | Andy |
  
  | -2 | Bonny |
  
  | -1 | Danny |
  
  +----+-------+
  
  3 rows in set (0.00 sec)
  
  全局(global)与会话(session)自增属性,会话针对当前连接的所有操作,全局变量会在新的连接会话中生效。
  
  mysql> show global variables like 'auto_incre%'; -- 全局的自增属性值
  
  +--------------------------+-------+
  
  | Variable_name | Value |
  
  +--------------------------+-------+
  
  | auto_increment_increment | 1 |
  
  | auto_increment_offset | 1 |
  
  +--------------------------+-------+
  
  2 rows in set (0.01 sec)
  
  mysql> show variables like 'auto_incre%'; -- 会话的自增属性值,同show session variables like 'auto_incre%';
  
  +--------------------------+-------+
  
  | Variable_name | Value |
  
  +--------------------------+-------+
  
  | auto_increment_increment | 65535 |
  
  | auto_increment_offset | 1 |
  
  +--------------------------+-------+
  
  2 rows in set (0.00 sec)
  
  mysql> set global auto_increment_increment=10;
  
  Query OK, 0 rows affected (0.00 sec)
  
  mysql> show variables like 'auto_incre%';
  
  +--------------------------+-------+
  
  | Variable_name | Value |
  
  +--------------------------+-------+
  
  | auto_increment_increment | 65535 |
  
  | auto_increment_offset | 1 |
  
  +--------------------------+-------+
  
  2 rows in set (0.01 sec)
  
  mysql> show global variables like 'auto_incre%';
  
  +--------------------------+-------+
  
  | Variable_name | Value |
  
  +--------------------------+-------+
  
  | auto_increment_increment | 10 |
  
  | auto_increment_offset | 1 |
  
  +--------------------------+-------+
  
  2 rows in set (0.00 sec)

MySQL自增属性auto_increment_increment和auto_increment_offset的更多相关文章

  1. Mysql设置auto_increment_increment和auto_increment_offset

    查看与设置: show variables like '%auto_inc%'; show session variables like '%auto_inc%'; -- //session会话变量 ...

  2. MySQL系统变量auto_increment_increment与auto_increment_offset学习总结

    在MySQL中,系统变量auto_increment_increment与auto_increment_offset是与自增列相关的两个参数变量.在官方文档中,将其划分为Replication Mas ...

  3. MySQL auto_increment_increment 和 auto_increment_offset

    参考这一篇文章:(不过我对这一篇文章有异议) http://blog.csdn.net/leshami/article/details/39779509 1:搭建测试环境 create table t ...

  4. mysql为字段添加或删除自增属性

    删除自增属性: ALTER TABLE `members` CHANGE uid uid INT(10) UNSIGNED NOT NULL ; 添加自增属性: ALTER TABLE `member ...

  5. MySql id 设定为主键不自增后,再给 sort 字段增加自增属性

    需求 id 已经被设置为主键,但是没有给它设置 自增 属性.sort 起到一个排序的作用,需要给它设置一个 自增 属性 加自增属性的前提 表中的属性没有增加自增 赋予自增属性的字段,必须带有 索引 S ...

  6. mysql 的增删改查

    数据库的基本流程就是先看你的数据库中的库都是哪些:show databases; 然后再进入相应的库进行操作  :  use+进入的库/表 切换路径 查看这个库内的所有的表: show tabales ...

  7. Java连接MySQL数据库增删改查通用方法

    版权声明:本文为博主原创文章,未经博主允许不得转载. Java连接MySQL数据库增删改查通用方法 运行环境:eclipse+MySQL 以前我们Java连接MySQL数据库都是一个数据库写一个类,类 ...

  8. Asp.Net操作MySql数据库增删改查

    Asp.Net操作MySql数据库增删改查,话不多说直接步入正题.git源码地址:https://git.oschina.net/gxiaopan/NetMySql.git  1.安装MySQL数据库 ...

  9. mybatis的执行流程 #{}和${} Mysql自增主键返回 resultMap 一对多 多对一配置

    n Mybatis配置 全局配置文件SqlMapConfig.xml,配置了Mybatis的运行环境等信息. Mapper.xml文件即Sql映射文件,文件中配置了操作数据库的Sql语句.此文件需要在 ...

随机推荐

  1. Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO

    你有碰上过这样的提示吗? Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in t ...

  2. react native 踩坑之 SectionList state更新 不执行render重新渲染页面

    官方文档中指出 SectionList 本组件继承自PureComponent而非通常的Component,这意味着如果其props在浅比较中是相等的,则不会重新渲染.所以请先检查你的renderIt ...

  3. zookeeper环境搭建(Linux)

    安装zookeeper 安装jdk(此处省略) 解压tar包并配置变量环境 配置文件修改 将/usr/local/src/zookeeper-3.4.5/conf这个路径下的zoo_sample.cf ...

  4. Andrew Ng Machine Learning Coursera学习笔记

    课程记录笔记如下: 1.目前ML的应用 包括:数据挖掘database mining.邮件过滤email anti-spam.机器人autonomous robotics.计算生物学computati ...

  5. 模块的使用与orm简介

    目录 1 django中app的概念: 2 模板路径配置: 3 静态文件配置: 4 完整版登录功能 5 get请求和post请求 6 新手三件套总结 7 pycharm连接mysql 8 orm介绍 ...

  6. sort函数

    做项目的时候,排序是一种经常要用到的操作.如果每次都自己写个冒泡之类的O(n^2)排序,不但程序容易超时,而且浪费宝贵的时间,还很有可能写错.STL里面有个sort函数,可以直接对数组排序,复杂度为n ...

  7. Python入门及容易!网摘分享给大家!

    Python:Python学习总结 背景 PHP的$和->让人输入的手疼(PHP确实非常简洁和强大,适合WEB编程),Ruby的#.@.@@也好不到哪里(OO人员最该学习的一门语言). Pyth ...

  8. MYSQL--事务处理(转)

    事务处理在各种管理系统中都有着广泛的应用,比如人员管理系统,很多同步数据库操作大都需要用到事务处理.比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如 ...

  9. iOS-合成图片(长图)

    合成图片 直接合成图片还是比较简单的,现在的难点是要把,通过文本输入的一些基本数据也合成到一张图片中,如果有多长图片就合成长图. 现在的实现方法是,把所有的文本消息格式化,然后绘制到一个UILable ...

  10. Qt Qwdget 汽车仪表知识点拆解7 图像绘制,旋转

    先贴上效果图,注意,没有写逻辑,都是乱动的 看下最中心的指针旋转,这里使用的QPainter的绘制函数 要显示复杂的效果,需要分层 void Widget::draw_number_pointer() ...