【发布时间】:2014-11-05 17:31:03
【问题描述】:
以下是 asp 会员提供者表。我正在尝试添加同一应用程序的多个用户,但我无法在 ApplicationId 列中添加重复值。为什么会这样?
这是我用来在表中插入记录的查询:
Insert into Users
values ('97C84F32-26A6-4A6C-960E-89A6A14D54E4', 'C2CADEDE-DA70-4C25-B717-6970344C8B34', 'John_doe', '', '', 1, '2014-11-05 21:28:33.043')
Insert into Users
values ('97C84F32-26A6-4A6C-960E-89A6A14D54E4', 'D2CADEDE-CA70-4C25-B717-6970344C8B34', 'John_doe1', '', '', 1, '2014-11-05 21:28:33.043')
错误
无法在具有唯一索引“aspnet_Users_Index”的对象“dbo.Users”中插入重复的键行。重复键值为 (97c84f32-26a6-4a6c-960e-89a6a14d54e4, )。
这是我的用户表查询:
CREATE TABLE [dbo].[Users]
(
[ApplicationId] [uniqueidentifier] NOT NULL,
[UserId] [uniqueidentifier] NOT NULL,
[UserName] [nvarchar](256) NOT NULL,
[LoweredUserName] [nvarchar](256) NOT NULL,
[MobileAlias] [nvarchar](16) NULL,
[IsAnonymous] [bit] NOT NULL,
[LastActivityDate] [datetime] NOT NULL,
PRIMARY KEY NONCLUSTERED ([UserId] ASC)
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Users] ADD DEFAULT (newid()) FOR [UserId]
GO
ALTER TABLE [dbo].[Users] ADD DEFAULT (NULL) FOR [MobileAlias]
GO
ALTER TABLE [dbo].[Users] ADD DEFAULT ((0)) FOR [IsAnonymous]
GO
ALTER TABLE [dbo].[Users] WITH CHECK
ADD FOREIGN KEY([ApplicationId])
REFERENCES [dbo].[Applications] ([ApplicationId])
GO
任何帮助将不胜感激
【问题讨论】:
-
向我们展示您用来添加这些用户的 SQL!
-
我怀疑您要么无法在
UserId中添加重复值,要么ApplicationId值在Applications中不存在? -
@marc_s 我在我的问题中添加了这一点
-
运行该 SQL 时遇到什么错误?
-
好的-谢谢-但这只是一行-您谈到插入多个行数据。请向我们展示您插入的 second 行,该行使用相同的
ApplicationId失败.....
标签: sql sql-server asp.net-membership membership-provider