在sql表中插入具有相同外键值的新行

时间:2017-04-06 14:28:42

标签: sql sql-server tsql sql-server-2012

我需要能够在一个表中插入多行,其中一个字段,一个外键将包含在多行中。

目前,当我尝试插入时,我收到此错误:

  

类型' System.Data.SqlClient.SqlException'的异常发生在   System.Data.dll但未在用户代码中处理

     

附加信息:无法在对象中插入重复的键行   ' dbo.userGroupMembership'具有唯一索引' IX_userId'。重复   关键值是(264673)。

查询我使用:

INSERT INTO userGroupMembership(userId, usergroupId, created, adultAdminAccessLevel)
SELECT [userId], 12, GETDATE(), 0
  FROM [dbo].[userGroupMembership]
  where usergroupId = @UserGroupId

UserId是外键字段。

我是否需要在表中进行任何配置更改或者如何能够使用相同的外键插入多行?

1 个答案:

答案 0 :(得分:1)

您有一个唯一索引,每个用户ID允许一行。如果您真的想要每个用户ID超过一​​行,只需删除唯一索引。

DROP INDEX dbo.userGroupMembership.IX_userID;