mysql ID自动增量不从0开始

时间:2012-05-25 11:21:08

标签: mysql database auto-increment

我有一个带ID的表,这个ID是自动增量和主键,第一次插入到该表时,ID从0开始,但是在我从该表中删除所有值并再次插入之后, ID不是从0开始,而是从ID的最后一个值开始,出了什么问题? 我可以将值重置为0吗?

4 个答案:

答案 0 :(得分:16)

您可以使用

截断表格
TRUNCATE `table`

截断将删除表格中的所有数据。请注意,使用TRUNCATE也不会触发任何DELETE触发器,例如DELETE

或者您可以使用

重置计数
ALTER TABLE `table` AUTO_INCREMENT = 1

然而,这是预期的行为。除非桌子真的是空的,否则不要做后者。

答案 1 :(得分:5)

要插入值为0的主键,请先执行以下请求:

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";

答案 2 :(得分:3)

删除表中的所有元素不会影响主键。主键仍然会从其最后一个值自动增加。

如果要重置主键,可以尝试截断表:

TRUNCATE TABLE yourtable;

这清除了yourtable中的所有元素。它是否重置主键取决于您的数据库。使用Mysql它应该工作,因为Mysql删除并重新创建TRUNCATE上的表。

答案 3 :(得分:1)

您必须使用TRUNCATE语句从1重新启动auto_increment。 这是避免刹车的正常行为。