重置自动增量主键sql,mysql

时间:2018-06-21 13:31:19

标签: mysql sql

我有1000个行的表Post,其中id_post是主键设置为autoincrement

OLD

id_post | post
  1        hi1
  2        hi2
   ...
 1000     hi1000

我删除了从301到1000的行。因此,我现在有了从1到300的行列表。

id_post | post
  1        hi1
  2        hi2
   ...
 300     hi300

问题

当尝试添加新行时,id_post从1001开始,如何重置表并使它从301开始?

2 个答案:

答案 0 :(得分:1)

首先,我将保持现状。如果您确实要更改它,可以使用:

 ALTER TABLE post AUTO_INCREMENT = 300;
 -- around 700 insterts
 ALTER TABLE post AUTO_INCREMENT = ?; -- where ? is max value of id_post

答案 1 :(得分:0)

您可以截断该表以重置标识列。像这样:

truncate table [table_name]

或者您可以使用CHECKIDENT命令:

  DBCC CHECKIDENT('table', RESEED, 0)