测试数据清理、主键回收等场景常需将自增计数器归零。MySQL 提供三种路径,按业务约束选择。
TRUNCATE TABLE tbl_name;
ON DELETE 触发器DROP 权限-- SQL Server 语法,MySQL 不支持
-- MySQL 等效操作见方法三
注意:DBCC CHECKIDENT 是 SQL Server 专有命令,MySQL 无此命令。原文引用有误。
DELETE FROM tbl_name; -- 清空数据(可选)
ALTER TABLE tbl_name AUTO_INCREMENT = 1;
10000)-- 完整重置(测试环境)
TRUNCATE TABLE t;
-- 保留数据重置起始值(生产慎用)
DELETE FROM t WHERE id < 1000; -- 删旧数据
ALTER TABLE t AUTO_INCREMENT = 1000;
AUTO_INCREMENT 持久化到 Redo Log,重启不回退MAX(id)+1