Actually a more complete set of updates is the following:
UPDATE post SET username='newusername', userid=newuserid WHERE userid=olduserid;
UPDATE thread SET postusername='newusername',postuserid=newuserid WHERE postuserid=olduserid;
UPDATE privatemessage SET fromuserid=newuserid WHERE fromuserid=olduserid;
UPDATE privatemessage SET touserid=newuserid WHERE touserid=olduserid;
UPDATE attachment SET userid=newuserid WHERE userid=olduserid;
UPDATE calendar_events SET userid=newuserid WHERE userid=olduserid;
UPDATE pollvote SET userid=newuserid WHERE userid=olduserid;
UPDATE subscribeforum SET userid=newuserid WHERE userid=olduserid;
UPDATE subscribethread SET userid=newuserid WHERE userid=olduserid;
UPDATE threadrate SET userid=newuserid WHERE userid=olduserid;
All userid & username related tables should be listed above. The ones that don't appear are taken care when updating the counters using the /admin/ interface.
Below a query to find out duplicate users or users with same username (this situation can happen after having imported a forum into an existing VB forum)
SELECT A.userid, A.usergroupid, A.username, A.email, A.usertitle
FROM user A, user B
WHERE A.username = B.username
and A.userid <> B.userid
ORDER BY A.username, A.email
- Adriano
|