Discuz7.x备份数据互补 Discuz7.2合并 Discuz!NT转Discuz7.2 DV.Net转Discuz7.2 UC1.5合并
Discuz!X1备份数据互补 Discuz!X1合并 Discuz!NT转Discuz!X1 Phpwind7.5转Discuz!NT3.1 UC1.6合并
Discuz!X1.5备份数据互补 Discuz!X1.5合并 Discuz!NT转Discuz!X1.5 Discuz!X1转Discuz!NT3.1 BBSMAX5转DX2
Discuz!X2备份数据互补 Discuz!X2合并 Discuz!NT转Discuz!X2 Discuz!X1.5转Discuz!NT3.5
Discuz!X2.5备份数据互补 Discuz!X2.5合并 Discuz!NT转Discuz!X2.5 dvbbs转Discuz!X2.5
Phpwind转Discuz!NT3.5 Discuz!X3合并 Discuz!NT转Discuz!X3 dvbbs转Discuz!X3
phpwind转Discuz!X3.1 Discuz!X3.1合并 Discuz!NT转Discuz!X3.1 dvbbs转Discuz!X3.1
phpwind转Discuz!X3.2 Discuz!X3.2合并 Discuz!NT转Discuz!X3.2 dvbbs转Discuz!X3.2
phpwind转Discuz!X3.3 Discuz!X3.3合并 Discuz!NT转Discuz!X3.3 dvbbs转Discuz!X3.3
返回列表 回复 发帖

帖子ID如何重新排序

删除了很多广告帖子,而这些删除的帖子ID就空着了,我想把所有文章重新从1开始连续排序,找回浪费掉的帖子ID。当然同时得把后面多余的ID也删除,让重新发表的文章接着排序。

类似的还有论坛版块的重排。从PHPWIND追踪至此。恳请老大解决

[ 本帖最后由 xzqt 于 2008-2-21 08:28 编辑 ]
我想了一下,除了单独写段程序来处理,没有简单的语句能够做到。还是劝你放弃这个做法,因为这样重新排列后,所有搜索引擎以前收录的帖子地址都会失效。
业务联系QQ466356742   EMAIL: 466356742@qq.com
论坛问题请不要随意加我,我每晚会上论坛回答。
不用考虑搜索引擎,因为暂时拒绝蜘蛛。请老大给个方法。或插件

依次执行以下8句话,可以把主题重新排序。

执行之前一定作好数据备份,发现问题就恢复,不保证一定成功。
ALTER TABLE `pw_threads` ADD `oldtid` MEDIUMINT UNSIGNED NOT NULL
update pw_threads set oldtid=tid
ALTER TABLE `pw_threads` DROP `tid`
ALTER TABLE `pw_threads` ADD `tid` MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST
update pw_posts p,pw_threads t set p.tid = t.tid where p.tid=t.oldtid
update pw_attachs a,pw_threads t set a.tid = t.tid where a.tid=t.oldtid
update pw_tmsgs tm,pw_threads t set tm.tid = t.tid where tm.tid=t.oldtid
ALTER TABLE `pw_threads` DROP `oldtid`
看懂的话,其他的xid排序也是同一思路。
业务联系QQ466356742   EMAIL: 466356742@qq.com
论坛问题请不要随意加我,我每晚会上论坛回答。
谢谢,我试试。不懂再来打扰。。
对了,不会影响今后程序升级吧?
PS:老大真的不错。我会介绍其他人过来支持您

[ 本帖最后由 xzqt 于 2008-2-24 09:45 编辑 ]
前面都很顺利,第7句:
update pw_tmsgs tm,pw_threads t set tm.tid = t.tid where tm.tid=t.oldtid
这句执行不了。

后面第8句也不敢执行。因为你说的要依次。

但貌似帖子ID重置了。不解


错误
SQL 查询:

UPDATE pw_tmsgs tm,
pw_threads t SET tm.tid = t.tid WHERE tm.tid = t.oldtid

MySQL 返回:

#1062 - Duplicate entry '2' for key 1

[ 本帖最后由 xzqt 于 2008-2-24 10:13 编辑 ]
请问,这个帖子ID重排对phpwind7.0管用吗?谢谢
不知道对7.0有效否,没空试,你有兴趣自己试试。这个是主题ID重排,不是帖子ID重排。尽量不要重排主题ID,这样搜索引擎里的旧连接就失效了。
业务联系QQ466356742   EMAIL: 466356742@qq.com
论坛问题请不要随意加我,我每晚会上论坛回答。
虽然冷清,但是货真价实
白大,这一句执行不了,能修正下吗?很需要这个
update pw_tmsgs tm,pw_threads t set tm.tid = t.tid where tm.tid=t.oldtid
返回列表