在sql server 2008中删除数据后重新播种/重置标识列

时间:2011-11-07 22:48:05

标签: sql-server sql-server-2008 entity-framework

当我从打开了标识种子ID的列中删除数据时,它不会重置为正确的数字,但会继续计数。 例如:

我添加了10个项目,因此最新添加的项目的ID为10,当我从数据库中删除项目时,Id应该将自身重置为0,例如,它仍然从11开始计数..它不是我一直在使用实体框架来添加/删除数据库中的东西,所以我的问题是,无论如何要解决这个问题吗?也许通过实体请求/查询?

2 个答案:

答案 0 :(得分:3)

这是标识列的正确行为。该值将继续增加。如果添加11项,从1开始,则下一项将是12.如果删除前10项,则不希望标识值从1开始,因为您将在第11个值处发生冲突。如果您想重新设置表格,可以使用DBCC CHECKIDENT

截断表格也会重置其身份值。

答案 1 :(得分:0)

cmd.CommandText = string.Format(“DBCC CHECKIDENT({0},RESEED,0)”,YourTableName);

从Id零开始快乐!