冰古blog » wordpress » 2006 » 03 » 24 » 让comments的id号连续起来

让comments的id号连续起来

wordpress的post和comment的id号是自动增长的,这意味着当你删除掉一个post或comment时,他们的id号将变得不完整。

而讨厌的spam却让我们不得不删掉大量的comment,commnet的id号也随之变得越来越大(会不会影响到页面的生成呢?可能会)。

闲逛中发现一条实用的SQL语句,可以使id号变得连续起来(请不要试图将此语句用于post的id上!要不你会发现posts和comments失去了联系!。当然也不是完全不可能的,但实施起来你会发现它将花费你不少时间)。

ALTER TABLE tablename DROP id;
ALTER TABLE tablename ADD id INT NOT NULL PRIMARY KEY AUTO_INCREMENT FIRST

下面这条SQL语句可以使comment的id号变得连续(请在运行此语句前,备份你的MySQL数据库!):

ALTER TABLE wp_comments DROP comment_ID;
ALTER TABLE wp_comments ADD comment_ID INT NOT NULL PRIMARY KEY AUTO_INCREMENT FIRST

我的wp已经测试,大家看看右边的recent comments是不是能对上号?如果你发现能对上,为什么不试试呢?(再罗嗦一句,一定要先备份你的数据库啊!

提醒:安装了关于comments方面plugin的同学注意啦,运行此语句后可能使你的comments失去关联!

参考:让MySQL自增长字段号从不连续变成连续的

13 Responses to “让comments的id号连续起来”

  1. [...] 这里介绍的是防 Posts 表的 ID 的跳号,关于 Comments 的 ID 号连续问题,可参见冰古blog的让 comments 的 id 号连续起来。 [...]

  2. [...] 再说说评论,要是觉得自己的评论id不连续,太乱,可以用这里的方法: [...]

  3. yskin (1 comments.) says:

    嗯,comment的id可以随便改的,没什么关联,不过post不行,有很多和post的id关联的。而且他自动增长,没办法啊。
    希望有人能写个程序,改掉post的id的时候自动修改其他的关联部位。

  4. Bingu (235 comments.) says:

    我已经多次提醒要先备份啊
    不过这个语句好像只是修改id而已
    不会影响到其他数据的哦
    可能是comment插件添加了数据表,而它是与comment表的id是关联的

  5. kevin (20 comments.) says:

    :cry: :cry::cry::cry::cry::cry::cry::cry::cry::cry::cry
    :

    我好可怜啊
    我用了两个关于comments的插件
    一执行你的代码
    所有的结构面目全非

    55555555555

  6. kevin (20 comments.) says:

    我使用了comment插件
    估计也是不能使用的

  7. Bingu (235 comments.) says:

    嗯,还是不打posts的主意好!

  8. Fwolf (5 comments.) says:

    对于没有关联性的表来说
    还是很有用的,使用id进行关联的就不能也千万不能这么作了。

  9. Bingu (235 comments.) says:

    to ggwu:呵呵,小一点还感觉比较爽:mrgreen:
    to kevin:这个的确不太好办啊。

  10. kevin (20 comments.) says:

    我希望你也能解决post的id连续
    哈哈
    我是不是太贪心了

  11. [...] wordpress的数据库记录增长方式很有趣,经常会莫名其妙的多增长,从而造成记录的不连续。有人想出方法解决了留言的不连续增长,详情请阅读这里。 [...]

  12. ggwu (2 comments.) says:

    我很久以前查过资料,id号不连续对性能没影响的;)

  13. [...]   让comments的id号连续起来,有类似需要的可以参考这篇文章。 [...]

Leave a Reply

gravatar