找回密码
 立即注册

只需一扫,快速开始

QQ登录

只需一步,快速开始

搜索
查看: 18285|回复: 4

[技术经验] Discuz升级后(旧版本到3.2版本),发现抱歉,该附件无法读取的错误

[复制链接]

8万

主题

431

回帖

9万

积分

管理员

积分
94369
QQ
发表于 2016-4-2 10:37:03 | 显示全部楼层 |阅读模式
报错信息:
抱歉,该附件无法读取



经排查,权限之类的完全正确,不要用哪些权限问题来糊弄人。排查了数据库,发现数据升级时候丢掉了一些数据。
主要是这个表:pre_forum_attachment,丢掉了大部分附件所有数据。

解决办法:sql执行以下命令(有一个缺点,附件下载次数没有了。我这里模拟的是10次)。如果想完全的恢复,只能恢复备份数据重新执行。当然,我这边客户已经把备份数据手贱删除了。
再次郑重说明,删除数据一定要谨慎,数据无价,谨慎操作。

  1. INSERT INTO pre_forum_attachment(aid,tid,pid, uid,tableid,downloads)SELECT aid,tid,pid, uid,1,'10' FROM pre_forum_attachment_1 d WHERE NOT EXISTS (select tid from pre_forum_attachment where pre_forum_attachment.aid = d.aid);
  2. INSERT INTO pre_forum_attachment(aid,tid,pid, uid,tableid,downloads)SELECT aid,tid,pid, uid,2,'10' FROM pre_forum_attachment_2 d WHERE NOT EXISTS (select tid from pre_forum_attachment where pre_forum_attachment.aid = d.aid);
  3. INSERT INTO pre_forum_attachment(aid,tid,pid, uid,tableid,downloads)SELECT aid,tid,pid, uid,3,'10' FROM pre_forum_attachment_3 d WHERE NOT EXISTS (select tid from pre_forum_attachment where pre_forum_attachment.aid = d.aid);
  4. INSERT INTO pre_forum_attachment(aid,tid,pid, uid,tableid,downloads)SELECT aid,tid,pid, uid,4,'10' FROM pre_forum_attachment_4 d WHERE NOT EXISTS (select tid from pre_forum_attachment where pre_forum_attachment.aid = d.aid);
  5. INSERT INTO pre_forum_attachment(aid,tid,pid, uid,tableid,downloads)SELECT aid,tid,pid, uid,5,'10' FROM pre_forum_attachment_5 d WHERE NOT EXISTS (select tid from pre_forum_attachment where pre_forum_attachment.aid = d.aid);
  6. INSERT INTO pre_forum_attachment(aid,tid,pid, uid,tableid,downloads)SELECT aid,tid,pid, uid,6,'10' FROM pre_forum_attachment_6 d WHERE NOT EXISTS (select tid from pre_forum_attachment where pre_forum_attachment.aid = d.aid);
  7. INSERT INTO pre_forum_attachment(aid,tid,pid, uid,tableid,downloads)SELECT aid,tid,pid, uid,7,'10' FROM pre_forum_attachment_7 d WHERE NOT EXISTS (select tid from pre_forum_attachment where pre_forum_attachment.aid = d.aid);
  8. INSERT INTO pre_forum_attachment(aid,tid,pid, uid,tableid,downloads)SELECT aid,tid,pid, uid,8,'10' FROM pre_forum_attachment_8 d WHERE NOT EXISTS (select tid from pre_forum_attachment where pre_forum_attachment.aid = d.aid);
  9. INSERT INTO pre_forum_attachment(aid,tid,pid, uid,tableid,downloads)SELECT aid,tid,pid, uid,9,'10' FROM pre_forum_attachment_9 d WHERE NOT EXISTS (select tid from pre_forum_attachment where pre_forum_attachment.aid = d.aid);
复制代码


回复

使用道具 举报

0

主题

1

回帖

3

积分

新手站长

积分
3
发表于 2017-3-21 18:29:13 | 显示全部楼层
感谢分享,这个问题困扰很久了,实测有效。
回复 支持 反对

使用道具 举报

8万

主题

431

回帖

9万

积分

管理员

积分
94369
QQ
 楼主| 发表于 2019-4-11 10:06:51 来自手机 | 显示全部楼层
暮山发表于 2015-5-26 10:36感谢分享,这个问题困扰很久了,实测有效。

好的
回复 支持 反对

使用道具 举报

0

主题

38

回帖

55

积分

菜鸟站长

积分
55
发表于 2019-4-12 10:24:37 来自手机 | 显示全部楼层
hfgfhgfhfgh  
回复 支持 反对

使用道具 举报

0

主题

38

回帖

55

积分

菜鸟站长

积分
55
发表于 2019-4-12 10:25:04 来自手机 | 显示全部楼层
hfgfhgfhfgh    gfdgf  
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|站秘书 ( 蜀ICP备15034504号-3 )

GMT+8, 2024-4-20 19:36 , Processed in 0.089181 second(s), 40 queries .

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

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