mysql中id值被重置的情况
MySQL中,如果你为一张使用了innodb引擎的表指定了一auto_increment列,那么这张表会有一个auto_increment计数器,专门记录当前auto_increment的相关值,用来在insert时为auto_increment列赋值作为自增id值。非常重要的一点是,这个计数值是保存在内存中的,而非磁盘上。服务器重启后,数据库去查询auto_increment计数值时,mysql便会自动执行:
SELECT MAX(id) FROM t FOR UPDATE;
也就是说重启后计数器失效,当查询到表没有值时,默认id会为1.如果auto_increment值为100,但是表中最大id为10,那么重启之后auto_increment会被重置为11