If I understand your questions correctly, you want to UPDATE your donation table to the MAX identifier associated with the member, and DELETE duplicate entries in the Members table, keeping the MAX.
, - 2 :
UPDATE Donations D
JOIN Members M ON M.MemberId = D.MemberId
JOIN (SELECT Max(MemberId) MaxId, Name
FROM Members
GROUP BY Name
) M2 ON M.Name = M2.Name
SET D.MemberId = M2.MaxId;
DELETE M
FROM Members M
JOIN Members M2 ON M.Name = M2.Name AND M.MemberId < M2.MemberId;
SQL Fiddle Demo
, , SQL, MAX (Id). , :
SELECT M2.MaxId MemberId, D.Amount
FROM Donations D
JOIN Members M ON M.MemberId = D.MemberId
JOIN (SELECT Max(MemberId) MaxId, Name
FROM Members
GROUP BY Name
) M2 ON M.Name = M2.Name;