重置 PK 自动增量列

Posted

技术标签:

【中文标题】重置 PK 自动增量列【英文标题】:Reset PK auto increment column 【发布时间】:2011-08-01 09:44:45 【问题描述】:

我已经多次导入数千条记录,以确保导入运行完美。

因此,现在当我在发布前进行实时导入时,自动增量列的 ID 列大约为 300,000。

从这些表中删除所有数据后,是否有任何简单的方法可以“重置”?我只想出于 SEO 的原因,网址:

Forum/1/Post
Forum/35/Post
Forum/5600/Post

看起来比

更好更简洁(因此在结果中更容易点击)
Forum/300124/Post
Forum/370321/Post
Forum/450111/Post

我宁愿不删除该列并重新插入该列,因为它会破坏所有关系并意味着我必须刷新所有数据上下文图等。

【问题讨论】:

【参考方案1】:

您需要带有 reseed 选项的 DBCC CHECKIDENT 命令,但我不确定它是否会改善 SEO。

DBCC CHECKIDENT ("dbo.Table", RESEED, 0); --next id will be 1

http://msdn.microsoft.com/en-us/library/ms176057.aspx

【讨论】:

谢谢,如果表中有 2 条记录我不想重新播种,这样可以吗?我可以从记录 n 开始重新播种吗? 是的,0 是新值,您可以将其设置为任何您喜欢的值。

以上是关于重置 PK 自动增量列的主要内容,如果未能解决你的问题,请参考以下文章

在 Android 的 Room 库中重置自动增量 [关闭]

mySQL 数据库:重置自动增量字段

AUTOINCREMENT 自动增量

重新排序/重置自动增量主键

重新排序/重置自动增量主键

重新排序/重置自动增量主键