Discuz批量替换帖子内容的方法(SQL语句使用)
一个朋友的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及以上版本为例已通这本站测试成功可用!)
注意:网站运营数据库是重中之重,所有动到数据库的操作,请务必先打快照备份。
页:
[1]