环境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;

标签: SQL, MySQL

添加新评论