删除SQL表是否会重置其ID值?

时间:2010-01-18 19:37:50

标签: mysql

如果我删除(擦除)MySQL表,是否会重置ID自动递增值?并且,如果我删除(例如)条目N°535,此条目号是否会在以后再次填写?

如果我擦除旧数据,我不希望该ID被其他新条目填充。如果这不是行为,那么避免这种情况的解决方案是什么?

4 个答案:

答案 0 :(得分:3)

您使用的是哪个DBMS?当您对表进行TRUNCATE时,MySQL会重置自动增量值。您可以使用(慢得多)DELETE FROM tablename来避免这种情况。

答案 1 :(得分:1)

如果删除一行,auto_increment值不会改变,但如果你执行TRUNCATE TABLE则会重置它。并且下一个ID始终是当前的auto_increment值(“gap”不会再次填充)。 您可以使用ALTER TABLE table AUTO_INCREMENT = num

更改auto_increment值

答案 2 :(得分:0)

是。解决方案是不要DROP你的表。而是使用DELETE FROM ...

答案 3 :(得分:0)

如果删除一个表,它将与任何标识种子值一起消失。