如何使用从wp_Comments(SQL GROUP BY)返回的评论计数来更新wp_post

时间:2012-11-30 作者:Lynn

我正在做一个从某人的定制CMS到WP安装的特殊迁移。我成功地将帖子和评论迁移到各自的表中。现在,我需要将每个匹配id的评论计数放入wp\\u posts表中。我很接近,我想:

SELECT COUNT(comment_content) AS total_comments, comment_post_ID AS commentID
FROM wp_comments
GROUP BY comment_post_ID;
--mysql won\'t let me run the group by on just the returned count column, so I\'m stuck with    two columns of data when I just want to insert one

UPDATE wp_posts SET comment_count = total_comments WHERE wp_posts.ID = commentID;
--So I tried to set my returned data to variables and assign them into the update statement..which doesn\'t work
无论如何,也许我需要迭代所有帖子,找到一个匹配的ID,然后通过移动光标来更新它?还是有更简单的方法让我错过了?

2 个回复
最合适的回答,由SO网友:Lynn 整理而成

我终于明白了。对于那些想知道MySQL是如何处理这种情况的人,这里是:

    UPDATE wp_posts, (SELECT COUNT(comment_content) AS total_comments, comment_post_ID
FROM wp_comments
GROUP BY comment_post_ID) x
       SET wp_posts.comment_count = x.total_comments
       WHERE wp_posts.ID = x.comment_post_ID;

SO网友:Otto

最简单的方法就是编写PHP来完成所有的帖子和调用wp_update_comment_count() 在每个帖子ID上。

结束

相关推荐

WordPress如何以及在哪里将MySQL内容添加到数据库中?

我目前正在关注steps 更改我的网站的服务器和域。我一直在从一个数据库向另一个数据库导出和导入mySQL。我即将删除数据库的mySQL内容以替换它。我害怕它会弄乱我的网站。Wordpress如何在数据库上创建mySQL内容,以及如何使其重写内容。换句话说:为什么我需要从以前的网站导出和导入数据库,而不仅仅允许FTP上的wordpress文件生成新的mySQL内容?非常感谢