mysql重置自增id为当前表中数据最大值+1
环境mysql8
重置为固定值
alter table `tablename` AUTO_INCREMENT=100;
重置为当前表中数据最大值 + 1
原理就是通过使用PREPARE构建预定义sql,这个技巧在数据库数据迁移时很好使
SET @m = (SELECT ifnull(MAX(id), 0) + 1 FROM `tablename`);
SET @s = CONCAT('ALTER TABLE `tablename` AUTO_INCREMENT=', @m);
PREPARE stmt1 FROM @s;
EXECUTE stmt1;
DEALLOCATE PREPARE stmt1;