ALTER TABLE C MODIFY AUTOID TINYINT UNSIGNED NOT NULL AUTO_INCREMENT,ADD UNIQUE INDEX AUTOID_001(AUTOID); -- C:表 AUTOID:字段 AUTOID_001:索引名
SELECT LAST_INSERT_ID();
最好不要UPDATE语句更新自增字段,以免带来不必要的麻烦。
MYSQL InnoDB存储引擎在重启MYSQL服务后,会重新找到自增最大值。
附:
一张表,里面有ID自增主键,当insert了17条记录之后,删除了第15,16,17条记录,再把Mysql重启,
再insert一条记录,这条记录的ID是18还是15 。 www.2cto.com
再insert一条记录,这条记录的ID是18还是15 。 www.2cto.com
答案:
如果表的类型是MyISAM,那么是18。
因为MyISAM表会把自增主键的最大ID记录到数据文件里,重启MySQL自增主键的最大ID也不会丢失。
如果表的类型是InnoDB,那么是15。
InnoDB表只是把自增主键的最大ID记录到内存中,所以重启数据库或者是对表进行OPTIMIZE操作,
都会导致最大ID丢失。 摘自http://www.2cto.com/database/201205/132971.html
都会导致最大ID丢失。 摘自http://www.2cto.com/database/201205/132971.html
浙公网安备 33010602011771号