对于批量插入数据的操做,MySQL申请自增的策略为:测试
在批量插入语句执行过程当中,申请策略: 1、第一次申请自增值时,会分配1个 2、在N次申请自增值时,会分配上一次(第N-1次)的2倍。
测试Demo:spa
## 建立测试表 CREATE TABLE `tb000` ( `id` int(11) NOT NULL auto_increment primary key, `c1` int(11) DEFAULT NULL, `c2` varchar(5) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ## 插入4条数据,分别三次获取自增值:(1),(2,3),(4,5,6,7) INSERT INTO tb000(c1,c2) SELECT 1,1 FROM information_schema.tables LIMIT 4; ## 再次插入一条记录,获取自增值(8) INSERT INTO tb000(c1,c2)VALUES(2,2); SELECT * FROM tb000;
===================================================================3d
其余跳号缘由:code
一、语句显式插入比当前自增列更大的值orm
二、语句执行获取到自增值后所在事务被回滚blog