mysql:重置表自增字段序号

情况一:清空表数据后重置自增 ID

如果你希望清空表中的所有数据,并将自增 ID 重置为初始值(通常为 1)

1、truncate

复制代码
truncate table `tb_dict`;

2、delete 配合 alter 语句

复制代码
delete from `tb_dict`;
alter table `tb_dict` AUTO_INCREMENT=0; 

情况二:保留表数据,重置自增 ID 的起始值

**如果你希望保留表中的数据,只重置自增 ID 的起始值,可以先删除自增属性,更新 ID 值,再重新添加自增属性。**这样会使ID自增序列按照1-n的顺序重新计算,不会造成ID重复。

复制代码
-- 1. 禁用外键约束(如果有外键关联)
SET FOREIGN_KEY_CHECKS = 0;

-- 2. 删除自增属性
ALTER TABLE tb_dict MODIFY id INT;

-- 3. 更新 ID 值
SET @row_number = 0;
UPDATE tb_dict
SET id = (@row_number:=@row_number + 1);

-- 4. 重新添加自增属性
ALTER TABLE tb_dict MODIFY id INT AUTO_INCREMENT;

-- 5. 启用外键约束(如果之前禁用了)
SET FOREIGN_KEY_CHECKS = 1;
相关推荐
哥只是传说中的小白4 分钟前
无需验证手机Sora2也能用!视频生成,创建角色APi接入教程,开发小白也能轻松接入
数据库·人工智能
todoitbo4 分钟前
书单之华为数据之道:企业数字化转型的实战宝典
数据库·华为·企业数字化转型·书单
曹牧6 分钟前
Oracle:导出SQL
数据库·oracle
_OP_CHEN10 分钟前
【Coze智能体开发】(三)解锁 Coze 智能体超能力:插件 + 知识库 + 数据库全解析,让 AI 从 “会聊天“ 到 “能办事“!
数据库·知识库·插件·coze·智能体开发·coze资源
Full Stack Developme12 分钟前
达梦(DM8)对 JSON 与 XML 的使用教程
xml·数据库·json
爱考证的小刘13 分钟前
MySQL/Oracle OCP认证怎么验证证书?
mysql·mysql数据库·数据库mysql·oracle数据库·oracle认证·mysql自学·mysql题库
想摆烂的不会研究的研究生8 小时前
每日八股——Redis(1)
数据库·经验分享·redis·后端·缓存
码熔burning8 小时前
MySQL 8.0 新特性爆笑盘点:从青铜到王者的骚操作都在这儿了!(万字详解,建议收藏)
数据库·mysql
猫头虎9 小时前
2025最新OpenEuler系统安装MySQL的详细教程
linux·服务器·数据库·sql·mysql·macos·openeuler
哈库纳玛塔塔9 小时前
放弃 MyBatis,拥抱新一代 Java 数据访问库
java·开发语言·数据库·mybatis·orm·dbvisitor