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;

本文作者:编程随写

本文链接:https://www.cnblogs.com/code-blog/p/17517138.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   code-blog  阅读(449)  评论(0编辑  收藏  举报
历史上的今天:
2019-06-30 HashMap源码阅读笔记
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起