Discuz!官方免费开源建站系统

 找回密码
 立即注册
搜索

[发布] discuz论坛UID复用的解决方案[三次更新]

[复制链接]
 楼主| degmd 发表于 2006-9-25 19:05:32 | 显示全部楼层
原帖由 H5N1 于 2006-9-24 22:02 发表
根据测试全部语句,根本无法运行。
运行后提示:Duplicate entry '135' for key 1
论坛没有任何反应和变化,照样正常。
论坛是由4.1直接升级到5.0正式版的。
何故?
试验的论坛在这里--http://168huangzhu ...


呵呵,出现你所说的问题,我也遇到过了的,我遇到是因为我直接在phpmyadmin中通过cdb_members表来删除用户,这种方法只是删除了这一个表中uid,所以其它的相关表中的uid并没有删除,在进行uid重排的过程中出现这个报错。
你得从后台来删除用户,这样再测试,将可能是正常的。

还有一点需要说明,我测试的时候没有试过从DZ4。1升到DZ5的论坛,我是直接在DZ5新安装的论坛里进行的测试。
升级到DZ5论坛的测试将在晚一些时候做。
你的QQ我加了,找个时间线上聊。这两天太忙了。可以留言给我的。
回复

使用道具 举报

小残 发表于 2006-10-4 19:01:56 | 显示全部楼层
太麻烦了~有没有自动改的啊?
回复

使用道具 举报

lishiminv 发表于 2007-1-9 12:14:54 | 显示全部楼层
我把管理员UID49修改成1的时候提示这个错误:
Duplicate entry '1' for key 1

修改过后,前台和后台能登录,可是前台我发的帖子的管理员信息显示“该用户已被删除 ”
22.gif
回复

使用道具 举报

lishiminv 发表于 2007-1-9 12:24:45 | 显示全部楼层
用这段代码:
UPDATE `cdb_access` SET `uid`=1 WHERE `uid`=49;
UPDATE `cdb_activities` SET `uid`=1 WHERE `uid`=49;
UPDATE `cdb_activityapplies` SET `uid`=1 WHERE `uid`=49;
UPDATE `cdb_adminsessions` SET `uid`=1 WHERE `uid`=49;
UPDATE `cdb_attachments` SET `uid`=1 WHERE `uid`=49;
UPDATE `cdb_blogcaches` SET `uid`=1 WHERE `uid`=49;
UPDATE `cdb_buddys` SET `uid`=1 WHERE `uid`=49;
UPDATE `cdb_creditslog` SET `uid`=1 WHERE `uid`=49;
UPDATE `cdb_favorites` SET `uid`=1 WHERE `uid`=49;
UPDATE `cdb_memberfields` SET `uid`=1 WHERE `uid`=49;
UPDATE `cdb_members` SET `uid`=1 WHERE `uid`=49;
UPDATE `cdb_moderators` SET `uid`=1 WHERE `uid`=49;
UPDATE `cdb_modworks` SET `uid`=1 WHERE `uid`=49;
UPDATE `cdb_myposts` SET `uid`=1 WHERE `uid`=49;
UPDATE `cdb_mythreads` SET `uid`=1 WHERE `uid`=49;
UPDATE `cdb_onlinetime` SET `uid`=1 WHERE `uid`=49;
UPDATE `cdb_orders` SET `uid`=1 WHERE `uid`=49;
UPDATE `cdb_paymentlog` SET `uid`=1 WHERE `uid`=49;
UPDATE `cdb_pmsearchindex` SET `uid`=1 WHERE `uid`=49;
UPDATE `cdb_promotions` SET `uid`=1 WHERE `uid`=49;
UPDATE `cdb_ratelog` SET `uid`=1 WHERE `uid`=49;
UPDATE `cdb_searchindex` SET `uid`=1 WHERE `uid`=49;
UPDATE `cdb_sessions` SET `uid`=1 WHERE `uid`=49;
UPDATE `cdb_subscriptions` SET `uid`=1 WHERE `uid`=49;
UPDATE `cdb_threadsmod` SET `uid`=1 WHERE `uid`=49;
UPDATE `cdb_validating` SET `uid`=1 WHERE `uid`=49;

UPDATE `cdb_posts` SET `authorid` = 1 WHERE `authorid` = 49;
UPDATE `cdb_threads` SET `authorid` = 1 WHERE `authorid` = 49;

提示:升级错误,MySQL 提示: Duplicate entry '1' for key 1
请问这个是怎么回事啊?怎么解决啊???
回复

使用道具 举报

lishiminv 发表于 2007-1-10 18:40:52 | 显示全部楼层
楼主帮我解决下啊。。。
回复

使用道具 举报

黑色契约 发表于 2007-1-14 14:14:31 | 显示全部楼层
完啦~~~
我逐个逐个升级~~~
然后升级到一半,我就自动被提出系统设置

现在怎么办啊??
救命啊~~~
回复

使用道具 举报

Clwarm 发表于 2007-1-14 14:34:34 | 显示全部楼层
谨慎为好~~~!!
回复

使用道具 举报

黑色契约 发表于 2007-1-14 14:36:04 | 显示全部楼层
UPDATE `cdb_blogcaches` SET `uid`=3 WHERE `uid`=4;
UPDATE `cdb_onlinetime` SET `uid`=3 WHERE `uid`=4;

我是逐个逐个升级的
然后发现这两个出现升级错误
请问要怎么弄啊??
可以直接在MYPHPADMIN修改吗??
怎样呢??
回复

使用道具 举报

黑色契约 发表于 2007-1-14 15:10:22 | 显示全部楼层
  1. ALTER TABLE `cdb_members` AUTO_INCREMENT =UID
复制代码


如果我现在的UID如以下

UID
1
2空
3
4空
5
6
7
8空
9

那么我执行这段代码的话,比如
ALTER TABLE `cdb_members` AUTO_INCREMENT =2
那么下一个注册的人是从2开始,而3又已经有会员了,那么再下一个注册的,UID是否为4呢?
回复

使用道具 举报

奇跡の海 发表于 2007-1-15 10:41:12 | 显示全部楼层
标记下,以后有用......
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-7-13 17:12 , Processed in 0.121515 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表