Aqui está o meu script do meu db,
CREATE TABLE [dbo].[MyTable](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Code] [nvarchar](25) NULL,
[Name] [nvarchar](25) NULL,
[dob] [date] NULL ,
CONSTRAINT [PK_MyTable] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
Quando eu insiro, eu tenho esse erro
Cannot insert explicit value for identity column in table 'MyTable' when
IDENTITY_INSERT is set to OFF.
Como posso resolvê-lo?
Quando uma coluna é definida como IDENTIDADE você não deve incluí-la na instrução de inserção. O SQL Server por si mesmo irá inserir o valor.
Se você observar a coluna ID da instrução de inserção, está faltando, mas ainda obterá um valor incrementado ao executar essa instrução.
Veja a resposta do tictac. Ou você pode inserir manualmente qualquer valor de identidade exclusivo que desejar, executando primeiro o comando:
Em seguida, execute seu script, seguido por