Я пытаюсь создать таблицу со строкой, в которой id = 0, но столбец вставки идентификатора начинается с 1,1, поэтому все последующие используют вставку идентификатора
я должен выполнить
DBCC CHECKIDENT ('Foo', RESEED, 0);
после того, как я вручную вставил (используя скрипт), чтобы следующая строка имела id = 1
есть ли другой способ получить id = 0 для моей первой строки из скрипта вставки, а все остальные, которые следуют, начинаются с 1, поэтому мне не нужно вызывать dbcc checkident
создать следующую таблицу
CREATE TABLE [dbo].[Foo](
[Id] [int] IDENTITY(1,1) NOT NULL,
[CreatedAt] [datetime] NOT NULL CONSTRAINT DF_Foo_CreatedAt DEFAULT getdate(),
[ModifiedAt] [timestamp] NOT NULL,
[Code] [nvarchar](50) NOT NULL,
[Name] [nvarchar](50) NULL,
CONSTRAINT [PK_Foo] PRIMARY KEY CLUSTERED
(
[Id] ASC
) ON [PRIMARY]
) ON [PRIMARY]
Мне нужна строка с идентификатором = 0, поэтому я запускаю следующее
SET IDENTITY_INSERT [dbo].[Foo] ON;
INSERT INTO [dbo].[Foo] ([Id],[Code],[Name]) VALUES (0, 'Default', 'Regular');
SET IDENTITY_INSERT [dbo].[Foo] OFF;
тогда я должен выполнить
DBCC CHECKIDENT ('Foo', RESEED, 0);
чтобы все следующие вставки начинались с 1