主键的值不会改变

时间:2012-06-13 07:02:26

标签: sql-server database visual-studio-2010 sql-server-2008

我正在使用visual studio 2010工作于asp.net mvc3项目和sql server 2008.我有一个表,该表的主键是int数据类型。我将Identity Specificatin设置为“是”,身份是“是”,身份增量和身份种子“1”。当表格为空并且数据可以轻松保存时,一切正常,但是当我关闭visual studio时,再次打开它并想要保存数据,发现显示主键值为“1”的中断。 (我删除了数据库的数据一次,删除后第一行的主键是5,其他行6,7,...)。这个问题的解决方案是什么?你的答案会很有帮助。谢谢

2 个答案:

答案 0 :(得分:2)

没有*自动间隙删除的解决方案“:标识列总是有间隙,原因很多。例如,删除的行可能在某些历史记录或审计表中,您不想重复使用它。

但是,您可以使用DBCC CHECKIDENT

重置列

请注意这里的问题:SQL server identity column values start at 0 instead of 1

答案 1 :(得分:1)

使用主键的序列类型可能会有所帮助......