我正在使用 Visual Studio 2010 处理 asp.net mvc3 项目和 sql server 2008。我有一个表,该表的主键是 int 数据类型。我将身份规范设置为“是”,身份是否为“是”,身份增量和身份种子“1”。当表为空并且可以轻松保存数据时一切正常,但是当我关闭 Visual Studio 时,再次打开它并想要保存数据时出现中断,显示主键的值为“1”。(我删除了一次数据库的数据,删除后第一行的主键是5,其他行是6,7,...)。这个问题的解决方案是什么?你的回答会很有帮助。谢谢
问问题
413 次
2 回答
2
*自动间隙删除没有解决方案:身份列总是有间隙是有充分理由的。例如,删除的行可能在某个历史记录或审计表中,您不想重用它。
但是,您可以使用DBCC CHECKIDENT重置列
请注意此处的问题:SQL 服务器标识列值从 0 而不是 1 开始
于 2012-06-13T07:41:16.117 回答
1
对主键使用序列类型可能会有所帮助...
于 2012-06-13T07:07:12.663 回答