http://www.cnblogs.com/xpchild/p/3825309.html

mysql> show create table pp;

CREATE TABLE `pp` (
`id` int() NOT NULL AUTO_INCREMENT,
`name` varchar() DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk mysql> insert into pp(name) values('xx');
Query OK, row affected (0.18 sec) mysql> show create table pp; CREATE TABLE `pp` (
`id` int() NOT NULL AUTO_INCREMENT,
`name` varchar() DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=gbk mysql> insert into pp(name) values('xx'),('xx'),('xx'),('xx');
Query OK, rows affected (0.01 sec)
Records: Duplicates: Warnings: mysql> show create table pp;
CREATE TABLE `pp` (
`id` int() NOT NULL AUTO_INCREMENT,
`name` varchar() DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=gbk mysql> insert into pp(name) select name from pp; 预分配ID值
Query OK, rows affected (0.20 sec)
Records: Duplicates: Warnings: mysql> show create table pp;
CREATE TABLE `pp` (
`id` int() NOT NULL AUTO_INCREMENT,
`name` varchar() DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=gbk mysql> select * from pp;
+----+------+
| id | name |
+----+------+
| | xx |
| | xx |
| | xx |
| | xx |
| | xx |
| | xx |
| | xx |
| | xx |
| | xx |
| | xx |
+----+------+
rows in set (0.00 sec) mysql> insert into pp(name) values('xx');
Query OK, row affected (0.18 sec) mysql> select * from pp;
+----+------+
| id | name |
+----+------+
| | xx |
| | xx |
| | xx |
| | xx |
| | xx |
| | xx |
| | xx |
| | xx |
| | xx |
| | xx |
| | xx |
+----+------+
rows in set (0.00 sec)
mysql> insert into pp(name) select name from pp;
Query OK, rows affected (0.16 sec)
Records: Duplicates: Warnings: mysql> show create table pp;
CREATE TABLE `pp` (
`id` int() NOT NULL AUTO_INCREMENT,
`name` varchar() DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT= DEFAULT CHARSET=gbk |
+ mysql> select * from pp;
+----+------+
| id | name |
+----+------+
| | xx |
| | xx |
| | xx |
| | xx |
| | xx |
| | xx |
| | xx |
| | xx |
| | xx |
| | xx |
| | xx |
| | xx |
| | xx |
| | xx |
| | xx |
| | xx |
| | xx |
| | xx |
| | xx |
| | xx |
| | xx |
| | xx |
+----+------+
rows in set (0.01 sec) mysql> commit;
Query OK, rows affected (0.00 sec)
模拟崩溃

kill - `pidof mysqld`

MYSQLD再起动,再测ID

mysql> show create table pp;

CREATE TABLE `pp` (
`id` int() NOT NULL AUTO_INCREMENT,
`name` varchar() DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT= DEFAULT CHARSET=gbk

并没有持久化29,

select max(id) from pp   取初值 25    回退了

自增锁预分配ID的更多相关文章

  1. MySQL自增锁模式innodb_autoinc_lock_mode参数理解调优

    前段时间某数据表运行过程中,出现自增字段突然跳跃式增长的问题,潜心研究发现,问题导致原因可能是因为并发写入导致 于是通过各种途径查阅是因为innodb_autoinc_lock_mode参数设置的不同 ...

  2. 深入剖析 MySQL 自增锁

    之前的文章把 InnoDB 中的所有的锁都介绍了一下,包括意向锁.记录锁...自增锁巴拉巴拉的.但是后面我自己回过头去看的时候发现,对自增锁的介绍居然才短短的一段. 其实自增锁(AUTO-INC Lo ...

  3. Mysql对自增主键ID进行重新排序

    Mysql数据库表的自增主键ID号经过一段时间的添加与删除之后乱了,需要重新排列. 原理:删除原有的自增ID,重新建立新的自增ID. 1,删除原有主键: ALTER TABLE `table_name ...

  4. Mysql自增主键ID重新排序方法详解

    Mysql数据库表的自增主键ID号乱了,需要重新排列. 原理:删除原有的自增ID,重新建立新的自增ID. 1,删除原有主键: ALTER TABLE `table_name` DROP `id`; 2 ...

  5. mybaits返回自增主键ID

    mybaits两种获取自增主键ID的方法:一种是使用useGeneratedKeys,第二种是selectKey方法获取. useGeneratedKeys <insert id="i ...

  6. Mybatis 中获取添加的自增主键ID(针对mysql)

    分享一篇博客,主要就是针对在我们使用SSM的时候,在.xml中获取<insert></insert> 时的自增主键Id,由于好久没有,这个时候使用,有点生疏,就在这里写个笔记, ...

  7. Java中实现MongoDB自增主键ID

    1.了解MongoDB的ObjectId        MongoDB的文档固定是使用“_id”作为主键的,它可以是任何类型的,默认是个ObjectId对象(在Java中则表现为字符串),那么为什么M ...

  8. MySQL自增锁等待问题解决

    有网友再群里问:在做基准测试时候,批量插入数据时,有很多自增锁等待,我告诉他解决办法: 1.innodb_autoinc_lock_mode=2 2.innodb_autoextend_increme ...

  9. Mysql数据库表的自增主键ID号乱了,需要重新排列。

    Mysql数据库表的自增主键ID号乱了,需要重新排列. 原理:删除原有的自增ID,重新建立新的自增ID. 1,删除原有主键:ALTER TABLE `table_name` DROP `id`; 2, ...

随机推荐

  1. android参考

    android:使用BaseExpandableListAdapter实现可折叠的列表 Android-ListView实现SectionIndexer SectionIndexer 的使用(联系人分 ...

  2. Chocolatey的安装与使用

    @(编程) 前言 在 Linux 下,大家喜欢用 apt-get 来安装应用程序,如今在 windows 下,大家可以使用 Chocolatey 来快速下载搭建一个开发环境. Chocolatey 的 ...

  3. STM32 常用GPIO操作函数记录

    STM32读具体GPIOx的某一位是1还是0 /** * @brief Reads the specified input port pin. * @param GPIOx: where x can ...

  4. AutoCAD DxfCode组码值说明

    值 说明 -5 APP:永久反应器链 -4 APP:条件运算符(仅与 ssget 一起使用) -3 APP:扩展数据 (XDATA) 标记(固定) -2 APP:图元名参照(固定) -1 APP:图元 ...

  5. 用 Python 脚本实现对 Linux 服务器的监控

    目前 Linux 下有一些使用 Python 语言编写的 Linux 系统监控工具 比如 inotify-sync(文件系统安全监控软件).glances(资源监控工具)在实际工作中,Linux 系统 ...

  6. CSS圆角,输入框提示信息,JS查找同级元素

    input { /*设置边框*/ border:1px solid #95B8E7; border-radius: 5px; /*设置圆角,IE不兼容*/ height:18px } placehol ...

  7. Socket小项目的一些心得(鸣谢传智的教学视频)

    Socket是一种封装了四层通信的整体抽象入口,通常也称作"套接字",这是常用的四层通信这是访问Socket的流程图,这个分为客户端和服务器端,其中服务器端有以下步骤去建立,前面的 ...

  8. lambda表达式和ef的语句转化

    这两者转化可以用linqpad进行转化, 首先推荐一个网站可以了解一下orderby的排序方式 http://www.csharpwin.com/csharpspace/614.shtml 然后下面有 ...

  9. springMVC在jsp传对象到后台

    ==============实体entity======================= package com.jb.pub.entity; import java.io.Serializable ...

  10. jquery获取表单的值

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...