重置自增主键SQL,MySQL

22 浏览
0 Comments

重置自增主键SQL,MySQL

这个问题已经有答案了:

如何在MySQL中重置AUTO_INCREMENT

我有一个包含1000行的名为Post的表格,其中id_post是主键,设为自动递增

旧的

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开始?

admin 更改状态以发布 2023年5月23日
0
0 Comments

你可以截断那张表来重设你的标识列。像这样:

truncate table [table_name]

或者你可以使用CHECKIDENT命令:

  DBCC CHECKIDENT('table', RESEED, 0)

0
0 Comments

首先,我会让间隔保持原状。如果你真的想要改变它,你可以使用:

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

0