下图中@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是多少呢? ...ON DUPLICATE KEY UPDATE ...的话,你会发现auto_increment并没有增加,因为这种模式直接加了AUTO_INC锁,执行完语句的时候释放,发现没有增加行数的话,不会增加自增