自动号码不是按顺序生成的
本文关键字:顺序 号码 | 更新日期: 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