目录

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;
本文是转载文章,点击查看原文
如有侵权,请联系 xyy@jishuzhan.net 删除
相关推荐
喆星时瑜1 小时前
【IDEA】创建 SpringBoot 项目连接 MySQL
spring boot·后端·mysql·intellij-idea
GOTXX1 小时前
【Qt】Qt 信号与槽机制全解析
开发语言·数据库·c++·qt·多线程·用户界面
程序员JerrySUN2 小时前
驱动开发硬核特训 · USB 摄像头专题:原理 + 实战深度解析(基于 linux-imx)
linux·数据库·驱动开发
King.6242 小时前
行业深度:金融数据治理中的 SQL2API 应用创新
大数据·开发语言·数据库·人工智能·sql·金融
陌漠ardently2 小时前
正则表达式和excel文件保存(python)
python·mysql·excel
Q186000000002 小时前
如何把pdf的内容转化成结构化数据进行存储到mysql数据库
数据库·python·mysql·pdf
西门吹雪分身2 小时前
Redis之RedLock算法以及底层原理
数据库·redis·算法
一代...2 小时前
【redis】初识redis
数据库·redis·缓存
clarance20152 小时前
MCP技术革命:元控制协议如何重构AI与数据库的交互范式
数据库·人工智能·重构
Arbori_262153 小时前
Oracle REGEXP_SUBSTR
数据库·oracle