自动号码不是按顺序生成的

本文关键字:顺序 号码 | 更新日期: 2023-09-27 18:03:17

我的一个表包含一个自动编号字段ShiftPk,我使用它作为该表的主键,但是当我向记录插入值时,生成的主键不是顺序的

我知道自动号码不需要总是顺序的,但我所有的其他自动号码都是按顺序工作的,请找到下面我的脚本和建议,如果有任何问题是从我的部分

   ****** Object:  Table [dbo].[ShiftMasterNew_tbl]    Script Date: 03/09/2013 13:21:13 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[ShiftMasterNew_tbl](
    [ShiftPK] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
    [ShiftName] [varchar](50) NOT NULL,
    [Duration] [numeric](18, 0) NULL,
 CONSTRAINT [PK_ShiftMasterNew_tbl] PRIMARY KEY CLUSTERED 
(
    [ShiftPK] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY],
 CONSTRAINT [IX_ShiftMasterNew_tbl] UNIQUE NONCLUSTERED 
(
    [ShiftName] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO

是什么使这个标签的自动编号与其他的不同

自动号码不是按顺序生成的

如何将数据插入到表中?我怀疑你的身份栏中是否有空格例如,它看起来像这样:

1
2
5
6
8
9
10
15

…这可能是将数据插入表时出现错误的征兆。您能在OP的更新过程中添加任何进一步的信息吗?

正如评论所说,它肯定是SEQUENTIAL,但可能会有空白。如果您需要向自己证明它们是连续的,您可以添加DateTime字段,如"WhenUpdated"吗?

我想我找到问题了。任何失败的尝试插入也消耗标识符

,例如插入123.然后插入失败

那么如果我插入它的标识符是

5