我需要能够在一个表中插入多行,其中一个字段,一个外键将包含在多行中。
目前,当我尝试插入时,我收到此错误:
类型' 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是外键字段。
我是否需要在表中进行任何配置更改或者如何能够使用相同的外键插入多行?
答案 0 :(得分:1)
您有一个唯一索引,每个用户ID允许一行。如果您真的想要每个用户ID超过一行,只需删除唯一索引。
DROP INDEX dbo.userGroupMembership.IX_userID;