0

私はVisual Studio 2010を使用しており、asp.net mvc3プロジェクトとSQL Server 2008で作業しています。このテーブルの主キーがintデータ型であるテーブルがあります。Identity Specificatin を「はい」、Is Identity を「はい」、Identity Increment および Identity Seed を「1」に設定します。テーブルが空の場合はすべて問題なく、データを簡単に保存できますが、Visual Studio を閉じてからもう一度開いてデータを保存しようとすると、主キーの値が "1" であることを示すブレークが発生しました。(データベースのデータを一度削除しました。この削除後、最初の行の主キーは5で、他の行は6、7、...)。この問題の解決策は何ですか? あなたの答えはとても役に立ちます。ありがとう

4

2 に答える 2

2

*自動ギャップ除去の解決策はありません": ID 列には常に正当な理由でギャップがあります。たとえば、削除された行はおそらく何らかの履歴または監査テーブルにあり、それを再利用したくありません。

ただし、DBCC CHECKIDENTを使用して列をリセットできます。

ここでの落とし穴に注意してください: SQL サーバー ID 列の値は 1 ではなく 0 から始まります

于 2012-06-13T07:41:16.117 に答える
1

主キーにシーケンス型を使用すると役立つ場合があります...

于 2012-06-13T07:07:12.663 に答える