admin 发表于 2020-12-2 19:25:03

Discuz!论坛批量替换帖子标题关键字或者帖子内容的方法

Discuz!论坛批量替换帖子标题关键字或者帖子内容关键字的方法:

涉及到数据库表的任何修改都是危险操作,请事先服务器快照备份或数据库备份后操作,否则数据损失后果自负!

批量替换帖子内容方法:
帖子内容表:
UPDATE `pre_forum_post` SET message = REPLACE(message,'原内容','新内容')


批量替换帖子标题方法:
帖子列表页表、帖子内容页表分别批量替换:
UPDATE `pre_forum_thread` SET subject = REPLACE(subject,'原标题','新标题')UPDATE `pre_forum_post` SET subject = REPLACE(subject,'原标题','新标题')

进阶方法:【一般仅需要站长看懂并使用分割线上面的操作即可~】

假设我们需要替换标题、帖子内容里面包含关键字 .anslist 之后的所有语句替换为(空),即删除的意思~
先预先查询匹配看下是否能匹配上涉及多少帖子:
SQL查询语句:
列子列表页表:(查询包含关键字 .anslist 之后的)
SELECT * from `pre_forum_thread` where subject like '%.anslist%';

帖子内容页表:(查询包含关键字 .anslist 之后的)
SELECT * from `pre_forum_post` where subject like '%.anslist%';

进行替换删除操作:
列子列表页表:(批量替换关键字 .anslist 之后的)
UPDATE `pre_forum_thread` SET subject=REPLACE(subject, ".anslis%", "") WHERE subject LIKE '%.anslis%';帖子内容页表:(批量替换关键字 .anslist 之后的)
UPDATE `pre_forum_post` SET subject=REPLACE(subject, ".anslis%", "") WHERE subject LIKE '%.anslis%';

更多参考阅读:
where条件中正则模糊匹配:https://caojie.blog/?p=1658
模糊查询的四种常见用法介绍:https://bbs.huaweicloud.com/blogs/233029
MySQL替换函数replace:https://www.qttc.net/156-mysql-replace.html
mysql 批量查询替换使用细节:https://hackmd.io/@aDMKLSPSQGOuboAmcbKDjw/rJjAMIXQE
页: [1]
查看完整版本: Discuz!论坛批量替换帖子标题关键字或者帖子内容的方法

创宇盾启航版免费网站防御网站加速服务