首页 > 解决方案 > Mysql 删除后自增

问题描述

我正在使用mysql数据库。现在我处于测试阶段,我删除了很多数据集。但即使我删除了它们,id 仍然会增加。所以实际上我的最后一个数据集 ID 是 156,但如果我插入一个新数据集,它从 200 开始。当然我希望我的数据库在最高 id 之后继续。

标签: mysqlsql

解决方案


您可以使用以下方法更改列的自动增量值:

ALTER TABLE tablename AUTO_INCREMENT = <new_value>;

也可以动态计算表中计数器的最大值,然后使用准备好的语句将其分配给计数器:

SELECT @last_id := MAX(ID) + 1 FROM mytable; 
PREPARE stmt FROM 'ALTER TABLE mytable AUTO_INCREMENT = ?';
EXECUTE stmt USING @max;
DEALLOCATE PREPARE stmt;

推荐阅读