去评论
dz插件网

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

admin
2020/12/02 19:25:03
Discuz!论坛批量替换帖子标题关键字或者帖子内容关键字的方法:

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

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



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



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

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


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


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