有个老的论坛,用的PHPBB程序,因为数据库日益臃肿,想将论坛用新数据库存储,将当前的数据库和程序不变,做个存档,
同时新论坛想用原来的域名http://域名/phpbb2023/新建立,但同时又想保留老论坛板块下最近的帖子,比如50条-100条作为过渡,避免新论坛空荡荡的。
查资料,并在自己的笔记本上搭建服务器环境,安装恢复备份,折腾着研究了一下午。。。
phpbb_post表topic_id字段去重(去除帖子回复)
1,创建新tmp表 用group by 根据“By”指定的规则对topic_id数据进行分组和筛选去重
create table tmp as select * from phpbb_posts group by topic_id
2,删除原表
DROP TABLE IF EXISTS phpbb_posts;
3,tmp表改名
alter table tmp rename phpbb_posts;
4查询各版块的帖子数目(16为论坛板块ID,好在板块不多,挨个查询一遍,记下数目)
SELECT * FROM `phpbb_topics`WHERE forum_id =16 phpbb_topics表是帖子标题,php_posts表为帖子内容,两个表都得删除大部分,清理腾空间,留下50-100贴填充内容就好 SELECT * FROM `phpbb_posts`WHERE forum_id =16
5,按板块帖子数目删除phpbb_posts表,limit后面的数字为要删除的数目
DELETE FROM `phpbb_posts` WHERE forum_id=16 ORDER BY `topic_id` LIMIT 1997
6,按板块帖子数目删除phpbb_posts表
DELETE FROM `phpbb_topics` WHERE forum_id=16 ORDER BY `topic_id` LIMIT 1997
评论抢沙发