下图中@1的值对应的是自增主键id,用(@2, @3)作为唯一索引
?
后来过了很久,小B给小A指了个方向,小A开始怀疑自己的插入更新语句INSERT ......查了资料之后,小A得知,原来,mysql主键自增有个参数innodb_autoinc_lock_mode,他有三种可能只0,1,2,mysql5.1之后加入的,默认值是1,之前的版本可以看做都是0。...id是7
delete from t1 where id in (2,3,4);
-- 此时数据表只剩1,5,6了,自增id还是7
insert into t1 values(2, 106,... "test1"),(NULL, 107, "test2"),(3, 108, "test2");
-- 这里的自增id是多少呢? ...上面的例子执行完之后表的下一个自增id是10,你理解对了吗,因为最后一条执行的是一个Mixed-mode inserts语句,innoDB会分析语句,然后分配三个id,此时下一个id就是10了,但分配的三个