您可能删除了其中一个表中的行,改为截断该表(这将重置标识),然后重试或重新设置表的种子
DBCC CHECKIDENT (Group1, RESEED, 0);
在这里运行这个来验证它是否按预期工作
Create table Group1(id int identity,Group1_Desc nvarchar(100))
create table Group2(id int identity,Group2_Desc nvarchar(100))
DECLARE @New_Group1_Id int
DECLARE @New_Group2_Id int
INSERT INTO Group1(Group1_Desc)
VALUES (N'Indianapolis')
SELECT @New_Group1_Id = Scope_Identity()
INSERT INTO Group2 (Group2_Desc)
VALUES (N'Indianapolis')
SELECT @New_Group2_Id = Scope_Identity()
select @New_Group1_Id,@New_Group2_Id
现在做这个
delete Group1
现在再跑一次
DECLARE @New_Group1_Id int
DECLARE @New_Group2_Id int
INSERT INTO Group1(Group1_Desc)
VALUES (N'Indianapolis')
SELECT @New_Group1_Id = Scope_Identity()
INSERT INTO Group2 (Group2_Desc)
VALUES (N'Indianapolis')
SELECT @New_Group2_Id = Scope_Identity()
select @New_Group1_Id,@New_Group2_Id
你会发现两者都是2
现在截断表group1
truncate table Group1
声明@New\u Group1\u Id int
声明@New\u Group2\u Id int
选择@New\u Group1\u Id=Scope\u Identity()
插入组2(组2描述)
值(N'Indianapolis')