我需要将用户信息从实时数据库传输到新主页(通过实时数据库的备份创建,因此我只希望移植新用户。(运行sql sqerver 2005)
我可以毫无问题地转移aspnet_表
但是当我尝试用户表时,它会出错:
Msg 512,Level 16,State 1,Procedure Mailing_list,Line 18 子查询返回的值超过1。当子查询遵循=,!=,<,< =,>,> =或子查询用作表达式时,不允许这样做。
查询
begin TRAN
SET IDENTITY_INSERT TargetDB.dbo.users ON
INSERT INTO TargetDB.dbo.users (UserId, UserName, FirstName, LastName, IsSuperUser,
AffiliateId, Email, DisplayName, UpdatePassword)
(SELECT dnnu.UserId, dnnu.username, dnnu.firstname, dnnu.lastname,
dnnu.isSuperuser, dnnu.AffiliateId, dnnu.Email, dnnu.DisplayName,
dnnu.UpdatePassword
FROM LiveDB.dbo.users dnnu
INNER JOIN LiveDB.dbo.aspnet_users u
ON (dnnu.username = u.username)
WHERE dnnu.username NOT IN (SELECT username
FROM TargetDB.dbo.users))
SET IDENTITY_INSERT TargetDB.dbo.users OFF
commit TRAN
我还在至少另外两个没有问题的数据库上运行了相同的代码段
非常感谢任何帮助
提前致谢 马特
答案 0 :(得分:3)
在一个小时或两个星期六盯着这个问题并决定提出这个问题之后,我又瞥了一眼它就打了我。
表上有一个触发器用于插入/更新,并且抛出一个摇摇欲坠的它运行查询并且现在可以正常工作