热搜词
发表于 2010-5-15 14:18:00 | 显示全部楼层 |阅读模式
本帖最后由 灰儿 于 2010-5-15 14:34 编辑

今天我的坛子里有个会员被误删除了,重新注册后发现UID不能设置成以前的数字了。官方并没有给出解决办法,
以下是网上搜到的一个方法:

由于discuz7.0版本并不提供后台会员合并功能,修改会员uid只能从数据库着手。
主要需要3部分内容
第一,ucenter中心,这个比较简单。
只要修改ucenter_members和ucenter_memberfields这2个数据表中的uid就可以了,速度比较快。
第二,discuz7.0论坛数据库修改,比较复杂,设计的数据表比较多。
粗略的查看了下有以下数据表需要修改,各位如果有补充的,请回帖或者联系我啊。
discuz_attachments
discuz_forumrecommend
discuz_members
discuz_memberfields
discuz_membermagics
discuz_moderators
discuz_modworks
discuz_myposts
discuz_mythreads
discuz_onlinetime
discuz_posts
discuz_ratelog
discuz_threadsmod
上述数据表需要修改authorid或者uid为一希望的数字id就可以了。
第三,其他程序的修改,比如home等,只要通过ucenter中心作为passport的客户端,激活过账号的都需要修改,这里就不多说了。

以上方法我试了,成功了,但如果是新注册的会员改UID的话,就没必要上边的所有表都看一遍了,我认为改discuz的members和UC里的members表就OK了,因为新用户还没有在其他地方产生数据。

附:
首先要确保目的UID(将要改成的那个)是没有的(或已删除),还有一个是原UID(将要更改的那个)。如果自己UC前缀是uc_并且论坛前缀是cdb_,如将UID为5的改成UID是3,大家按照自己想要的将下面代码中的所有数字5,替换成自己原UID,然后在DZ7后台的数据库升级那里执行以下代码,也可以在TOOL工具箱那里升级。
  1. UPDATE `cdb_access` SET `uid`=3 WHERE `uid`=5;
  2. UPDATE `cdb_adminsessions` SET `uid`=3 WHERE `uid`=5;
  3. UPDATE `cdb_banned` SET `id`=3 WHERE `id`=5;
  4. UPDATE `cdb_creditslog` SET `uid`=3 WHERE `uid`=5;
  5. UPDATE `cdb_favorites` SET `uid`=3 WHERE `uid`=5;
  6. UPDATE `cdb_memberfields` SET `uid`=3 WHERE `uid`=5;
  7. UPDATE `cdb_members` SET `uid`=3 WHERE `uid`=5;
  8. UPDATE `cdb_moderators` SET `uid`=3 WHERE `uid`=5;
  9. UPDATE `cdb_modworks` SET `uid`=3 WHERE `uid`=5;
  10. UPDATE `cdb_onlinetime` SET `uid`=3 WHERE `uid`=5;
  11. UPDATE `cdb_orders` SET `uid`=3 WHERE `uid`=5;
  12. UPDATE `cdb_paymentlog` SET `uid`=3 WHERE `uid`=5;
  13. UPDATE `cdb_posts` SET `authorid`=3 WHERE `authorid`=5;
  14. UPDATE `cdb_promotions` SET `uid`=3 WHERE `uid`=5;
  15. UPDATE `cdb_ratelog` SET `uid`=3 WHERE `uid`=5;
  16. UPDATE `cdb_threads` SET `authorid`=3 WHERE `authorid`=5;
  17. UPDATE `cdb_threadsmod` SET `uid`=3 WHERE `uid`=5;
  18. UPDATE `cdb_validating` SET `uid`=3 WHERE `uid`=5;
  19. UPDATE `uc_members` SET `uid`=3 WHERE `uid`=5;
  20. UPDATE `uc_pms` SET `msgtoid`=3 WHERE `msgtoid`=5;
  21. UPDATE `uc_pms` SET `msgfromid`=3 WHERE `msgfromid`=5;
  22. UPDATE `uc_members` SET `uid`=3 WHERE `uid`=5;
  23. UPDATE `uc_memberfields`  SET `uid`=3 WHERE `uid`=5;
  24. UPDATE `uc_friends`  SET `uid`=3 WHERE `uid`=5;
  25. UPDATE `uc_friends`  SET `friendid`=3 WHERE `friendid`=5;
  26. UPDATE `uchome_userapp`  SET `uid`=3 WHERE `uid`=5;
  27. UPDATE `uchome_spacefield` SET `uid`=3 WHERE `uid`=5;
  28. UPDATE `uchome_space` SET `uid`=3 WHERE `uid`=5;
  29. UPDATE `uchome_session` SET `uid`=3 WHERE `uid`=5;
  30. UPDATE `uchome_pic` SET `uid`=3 WHERE `uid`=5;
  31. UPDATE `uchome_notification` SET `uid`=3 WHERE `uid`=5;
  32. UPDATE `uchome_myinvite` SET `touid`=3 WHERE `touid`=5;
  33. UPDATE `uchome_member` SET `uid`=3 WHERE `uid`=5;
  34. UPDATE `uchome_friend` SET `uid`=3 WHERE `uid`=5;
  35. UPDATE `uchome_friend` SET `fuid`=3 WHERE `fuid`=5;
  36. UPDATE `uchome_feed` SET `uid`=3 WHERE `uid`=5;
  37. UPDATE `uchome_comment` SET `authorid`=3 WHERE `authorid`=5;
  38. UPDATE `uchome_comment` SET `uid`=3 WHERE `uid`=5;
  39. UPDATE `uchome_comment` SET `id`=3 WHERE `id`=5;
  40. UPDATE `uchome_album` SET `uid`=3 WHERE `uid`=5;
  41. UPDATE `cdb_ratelog` SET `uid`=3 WHERE `uid`=5;
  42. UPDATE `cdb_mythreads` SET `uid`=3 WHERE `uid`=5;
  43. UPDATE `cdb_mytasks` SET `uid`=3 WHERE `uid`=5;
  44. UPDATE `cdb_myposts` SET `uid`=3 WHERE `uid`=5;
  45. UPDATE `cdb_medallog` SET `uid`=3 WHERE `uid`=5;
  46. UPDATE `cdb_attachments` SET `uid`=3 WHERE `uid`=5;
复制代码
全部评论0
回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|管理员之家 ( 苏ICP备2023053177号-2 )

GMT+8, 2024-12-23 05:10 , Processed in 0.159936 second(s), 22 queries .

Powered by Discuz! X3.5

Cpoyright © 2001-2024 Discuz! Team