IDENTITY_INSERT SQL脚本

时间:2017-05-17 20:33:46

标签: c# sql-server database sql-scripts management-studio-express

场合

我有一个SQL脚本,我需要将一些基本数据推送到我的数据库。因此,我使用以下脚本(和其他)。我想手动为我手动创建的行提供主键。

问题

如果我执行脚本,它会说我需要启用IDENTITY_INSERT。我添加了这一行SET IDENTITY_INSERT UserGroups ON;尽可能多的例子,但是当我添加它时它仍然会给出相同的错误。

SET IDENTITY_INSERT UserGroups ON;  
GO 

INSERT INTO UserGroups VALUES (0, 0);

运行脚本时出错:

  

只有在使用列列表并且IDENTITY_INSERT为ON时,才能指定表'UserGroups'中标识列的显式值。

问题

我是否需要在数据库中更改某些内容,或者在脚本中是否还有其他内容可以手动添加主键?

详情

我使用的是SQL Server 2016 Management Studio。

我将DDL脚本用于SQL脚本

我使用Entity Framework。

我在这张表中有两列

  1. 主键:Id
  2. int:GroupHeadId

2 个答案:

答案 0 :(得分:7)

如错误所述,您需要列列表。

INSERT INTO UserGroups (Id, GroupHeadId)
VALUES (0,0)

答案 1 :(得分:6)

错误消息告诉您问题。

  

只有在使用列列表且IDENTITY_INSERT为ON时,才能指定表'UserGroups'中标识列的显式值。

您没有使用列列表。指定列。