1赞

评论

收藏

[Discuz] Discuz批量替换帖子内容的方法(SQL语句使用)

建站程序 建站程序 发布于:2021-07-20 20:59 | 阅读数:186 | 评论:0

       一个朋友的Discuz X3.4论坛需要批量替换帖子的内容,帖子数量上达好几万一篇篇手工修改是肯定不可行的,刚开始是想通过设置词语过滤发现无效,经过再三尝试只能通过执行数据库语句批量替换,具体方法请接着往下看。

       论坛后台提供数据库SQL语句操作的功能,但是默认情况下出于安全考虑,该功能是被关闭的,所以得先修改下配置文件,方法如下:

找到论坛程序文件 config/config_global.php,用记事本或代码编辑软件打开

查找以下代码(以3.4为例一般在96行)

$_config['admincp']['runquery'] = '0';

将代码中的值0,改为1即可。(出于安全考虑,建议执行SQL语句完毕后将这个参数的值再改回来)

修改了后即可按以下步骤操作:

1、进入后台→站长→数据库→升级

2、执行以下对应的语句后提交即可:


批量替换帖子内容执行以下语句
UPDATE pre_forum_post SET message=REPLACE(message,'旧内容','新内容无内容可留空');
批量替换标题内容执行以下语句
UPDATE pre_forum_thread SET subject=REPLACE(subject,'旧内容','新内容无内容可留空');
(此方法以Discuz! X3.4的R20210520及以上版本为例已通这本站测试成功可用!)
注意:网站运营数据库是重中之重,所有动到数据库操作,请务必先打快照备份。
关注下面的标签,发现更多相似文章