0
私は3列のSQLでテーブルを作成しました。 IDの1つ(アイデンティティの指定がオン)および他の2つの列。私は2列のレコードをc#アプリケーションで保存していましたが、ID列は自動的にインクリメントされます。 ID記録は1172になり、1173、1174などのようにIDインクリメントが1172になりました。IDが異常に増加する
テーブル作成中に何か問題があったのかどうかわかりませんおよびID列。理解できません。誰かが案内してくれますか?私はスクリーンショットを添付しています。
編集:私は、クエリを使用して、それを修正しました。
DBCC CHECKIDENT (mytable, RESEED, 160)
ここで、ID列は161に戻って+1をインクリメントします。すべての良い。
使用しているSQLのバージョンは?誤って 'ID2'カラムの値として明示的に' 1172'を指定した可能性があります。その場合、データベースは自動的にインクリメントするためにそのポイントの後にピックアップするかもしれません。 –
@TimBiegeleisen 2013 Express Editionを使用しています。そして私はこの番号を明示的に指定していませんでした。 私が言ったように、C#アプリケーションを通してテーブルにレコードを挿入していました。挿入クエリとIDを使用して自動生成されました。それは1から始まり、私は160日で何の問題もなかった。 a_horse_with_no_name IDは順番に生成されていて、1から開始され、160より後には1172になりました。 – Sedate
SQL Serverでは、自動インクリメント列は連続しているとは限りません。たとえば、大きな挿入がロールバックされた場合、カウントはリセットされません。 – Blorgbeard