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

 找回密码
 立即注册
搜索

[疑问] cdb_members表与cdb_memberfields对应不上

[复制链接]
酷酷小米 发表于 2008-5-27 14:15:22 | 显示全部楼层 |阅读模式
cdb_members表中的uid比cdb_memberfields表中的uid大了1
现在想update cdb_memberfields set uid=uid-1 where uid>17
请教大家,如何才可以操作?
回复

使用道具 举报

桃子(小敏) 发表于 2008-5-27 14:24:35 | 显示全部楼层
LZ,您那句sql的意思是把memberfields表里uid大于17的全部减1
可以到论坛后台,系统工具,升级,执行以上sql语句
建议执行钱请做好数据库的备份工作
回复

使用道具 举报

 楼主| 酷酷小米 发表于 2008-5-27 14:29:02 | 显示全部楼层
大致情况如下
cdb_members
uid    用户名
24    wys5134
25     小铭

cdb_memberfelds
uid    用户资料
25    wys5134的
26    小铭的

用小铭登陆后,提示"欢迎你,wys5134"

现发现cdb_memberfelds中的uid=18这条数据不存在
所以想让所有uid>18的数据uid-1
回复

使用道具 举报

 楼主| 酷酷小米 发表于 2008-5-27 14:29:53 | 显示全部楼层
但uid好像是主键
在phpmyadmin执行后提示


错误
SQL 查询:

UPDATE cdb_memberfields SET uid = uid -1 WHERE uid >17

MySQL 返回:

#1062 - Duplicate entry '61' for key 1
回复

使用道具 举报

 楼主| 酷酷小米 发表于 2008-5-27 14:54:06 | 显示全部楼层
顶上.........
回复

使用道具 举报

桃子(小敏) 发表于 2008-5-27 15:07:43 | 显示全部楼层
LZ是升级到dz6.1后出现的这个问题吧
请看下顺序:
https://discuz.dismall.com/viewthread.php?tid=902785
如果有备份数据,恢复备份,重新升级吧
回复

使用道具 举报

 楼主| 酷酷小米 发表于 2008-5-27 15:12:05 | 显示全部楼层
我是dz6.1搬家后出现这个问题的.
因为原论坛的服务器出现坏道,所以数据备份不完整.
楼上的大大,可以帮我看一看么?我PM你权限?
回复

使用道具 举报

桃子(小敏) 发表于 2008-5-27 15:29:50 | 显示全部楼层
数据库备份不全不会出现这种情况的
如果您有服务器权限,可以直接拷贝mysql的data数据库恢复下
记得停止mysql服务
回复

使用道具 举报

 楼主| 酷酷小米 发表于 2008-5-27 15:32:51 | 显示全部楼层
楼上的大大,原论坛服务器出现坏道,mysql\data\bbs目录丢失了40个表,但仍存在缓存中,数据救出来了.完整性应该也没问题
因为数据存在缓存中,所以当时不敢关闭论坛和mysql.
一言难尽..我觉得其实就只是差了那一条记录而已..能否帮忙修复一下?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-15 17:28 , Processed in 0.103286 second(s), 14 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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