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;
posted @ 2023-06-30 16:19  code-blog  阅读(533)  评论(0)    收藏  举报