2014-08-29 4 views
0

나는 며칠 전에 공격당한 사이트를 가지고 있으며 그 나쁜 사람이 몇 명의 사용자 전자 메일을 삭제하고 변경했습니다. 최대한 많이 복원해야합니다.SQL Server에서 여러 행을 업데이트하는 방법

그래서 두 개의 백업이 있습니다. 공격 한 후 3 월 1 일.

나는 질문은 내가 대한 [oldBackup] 테이블에서 값이 상태에서 내 시험 자료의 모든 행을 업데이트하고 어떻게이

SELECT [email], [userId] 
FROM [lastBackup].[dbo].[aspnet_Membership] 
WHERE [email] like '%@dispostable.com' 

처럼 그 이메일의 전체 많이 얻을.

은 내가 당신에 설명 된대로, (대신이 시도 잘못 update...from 문에 대한 양식을 가지고 생각

UPDATE [testbase].[dbo].[aspnet_Membership] AS tb 
SET [email] = (SELECT om.[email] FROM [oldBackup].[dbo].[aspnet_Membership] om 
       INNER JOIN    [lastBackup].[dbo].[aspnet_Membership] cm 
       ON cm.userId = om.userId 
       WHERE cm.[email] LIKE '%@dispostable.com' 
       AND tb.userId = cm.userId) 
+0

무슨 뜻입니까? 오류가 발생하거나 원하는 것을 수행하지 못합니까? – wdosanjos

+0

"키워드 근처에 잘못된 구문이 '' '과 같은 오류가 발생합니다. –

답변

2

) = 나쁜 모양과 작동하지 않습니다하지만 그것은이 같은해야하는데 documentation) :

UPDATE [testbase].[dbo].[aspnet_Membership] 
SET [email] = om.[email] 
FROM [testbase].[dbo].[aspnet_Membership] tb 
INNER JOIN [lastBackup].[dbo].[aspnet_Membership] cm ON tb.userId = cm.userId 
INNER JOIN [oldBackup].[dbo].[aspnet_Membership] om ON cm.userId = om.userId 
WHERE cm.[email] LIKE '%@dispostable.com' 
관련 문제