隆安教育博客 » 电脑乐园 » 网站制作 » [原创]重排回复表PID编号插件,防止数据溢出 for PW5.3 & PW6.3
[原创]重排回复表PID编号插件,防止数据溢出 for PW5.3 & PW6.3
经检查是从2008年1月24日pid从398063突然跳到3401253888,经过半年时间目前PID已经为3401421128。(回复帖子越多PID越大,一个回复增加一个PID)
造成原因尚未清楚(可能是某个时候恢复数据或删除回复时出现的问题),为防止数据溢出特制作此插件,主要是将回复表(bg_posts)中的PID字段重新排序。
本插件要新增两个文件:resetpid.php和resetpid.htm,并修改模板中的两个文件cp_lang_left.php和cp_lang_cpmsg.php。
执行这个插件有一定的危险性,要求使用人员必须对数据库操作有较高的能力。
以下这两步是在安装插件前或执行程序后必须做的:
1、安装插件前要给附件表(bg_attachs)的PID字段建立普通索引,MySQL命令:
CODE:
ALTER TABLE `bg_attachs` ADD INDEX ( `pid` )
2、执行程序后必须对回复表(bg_posts)的自动编号进行调整,否则PID值还是跟原先一样,MySQL命令:
CODE:
ALTER TABLE bg_posts AUTO_INCREMENT=XXXXXX(总行数加1)
以上两个命令执行的时间较长,为防止程序无法响应,所以并没有加在程序中,建议在phpMyAdmin中使用。
本主题附件给出PW5.3和PW6.3版本的插件,请注意识别。
发布插件除了给自己留个备份,也希望能对大家起到抛砖引玉的目的。本人不对运行此插件造成的后果负责,也不提供无偿技术服务!
2008.7.13本论坛已对回复表共 523122 条记录进行重新排序,程序运行共用5分钟时间。修复PID插件.rar