我正在使用 SQL Server 2008 来维护一个数据库,在该数据库中我有一个userAcccounts
在网站上注册时存储用户详细信息的表。该userID
列是一个带有标识的整数。
我注意到的是,不知何故,该列跳过了一些 id(随机数的 id,有时它会跳过 5、11、10 等),即 ID 不是连续的。我在这里读过一个类似的问题,有一个类似的问题建议
“每次尝试插入时,身份序列都会增加 - 这包括失败或回滚的插入”
我检查了我的日志是否有错误,但在跳过 id 期间没有错误。此外,我的插入不在任何事务中进行回滚,因为不需要删除帐户。注册过程中也不涉及其他表格
虽然这不是一个主要问题,因为 id 将是唯一的,但我想知道为什么会出现这种行为?也许我忽略了一些东西。
还有其他可能发生这种行为的场景吗?即身份列跳过了几个ID?这可能是并发访问的问题吗?
这是表的创建脚本。
CREATE TABLE [dbo].[UserAccounts](
[AccountID] [int] IDENTITY(1,1) NOT NULL,
[FirstName] [varchar](30) NULL,
[LastName] [varchar](30) NULL,
[Gender] [varchar](10) NULL,
[Email] [varchar](150) NULL,
[EmailVerified] [bit] NULL,
[UserName] [varchar](30) NULL,
[Password] [varchar](50) NULL,
[ProfilePicture] [varchar](150) NULL,
[BackgroundPicture] [varchar](150) NULL,
[DateOfBirth] [smalldatetime] NULL,
[CreateDate] [smalldatetime] NULL,
[LastUpdatedOn] [smalldatetime] NULL,
[Points] [int] NULL,
[CurrentBadge] [varchar](30) NULL,
[FBID] [varchar](50) NULL,
[TwitterID] [varchar](50) NULL,
[Abused] [int] NULL,
[isActive] [bit] NULL,
[AccountTypeID] [int] NULL,
[DateStamp] [timestamp] NOT NULL,
[Location] [varchar](50) NULL,
[About] [varchar](250) NULL,
[UsingBackgroundPicture] [bit] NULL,
CONSTRAINT [PK__UserAcco__349DA5867F60ED59] PRIMARY KEY CLUSTERED
(
[AccountID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
感谢这方面的任何帮助?另外,如果您需要任何其他详细信息,请告诉我。
谢谢