情况一:清空表数据后重置自增 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;