sql server身份规范不是顺序的

Dig*_*aft 3 database sql-server

我注意到SQL Sever(2008 express)在插入自动递增标识规范时会随机跳转.

例如,我的一列"HitStat_ID"将按顺序插入15,16,17,18,然后突然间,它将决定跳转到1012,1013,1014 ....然后9120,9121等.

它真的没关系,只要它们是独一无二的(它们是什么),但它为什么会这样做呢?它也可以在多个表中执行...奇怪的是,这只是在过去一周内完成的,但应用程序已经开发了几个月!

ETA:我在ASP.NET VB中工作这是插入(在这种情况下):

sql = "INSERT INTO [HitStats] ([PageName], [Date_and_Time], [User_ID]) values ('Home',     
'" + TheDateTime + "', '" + Session("User_ID") + "')"
Dim dbcmd As SqlCommand = New SqlCommand(sql, dbconn)
dbcmd.ExecuteNonQuery()
dbcmd.Dispose()
Run Code Online (Sandbox Code Playgroud)

请不要继续关于sql注入等等等等,它不会发生!

Gon*_*o.- 5

如果您正在使用应用程序和事务,当您回滚事务时,您将松开生成的自动递增数字.此外,如果您进行一些插入并回滚它们.

在这里查看更多

此外,如果您删除数据,除非您进行重新设定,否则不会再生成这些数字.看到这里

  • 每次你进行回滚时,上帝都会杀死一个自动生成的数字。为了数字而做 (2认同)