You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PHPMyAdmin执行WordPress评论数修正SQL语句遇#1048错误求助

解决WordPress评论计数修正SQL的#1048错误

问题原因

原SQL使用LEFT JOIN后,无通过审核评论的帖子对应的wpc.cnt会返回NULL,而WordPress的wp_posts表中comment_count字段带有非空约束(NOT NULL),直接将NULL赋值给该字段就会触发#1048 - Column 'comment_count' cannot be null错误。

修正后的SQL语句

UPDATE mydomain.1we9ZZc0_posts wpp
LEFT JOIN
(SELECT comment_post_id AS c_post_id, count(*) AS cnt FROM mydomain.1we9ZZc0_comments
WHERE comment_approved = 1 GROUP BY comment_post_id) wpc
ON wpp.id=wpc.c_post_id
SET wpp.comment_count = COALESCE(wpc.cnt, 0)
WHERE wpp.post_type IN ('post', 'page')
AND (wpp.comment_count != COALESCE(wpc.cnt, 0));

关键改动说明

  • 用COALESCE(wpc.cnt, 0)处理空值:当wpc.cnt为NULL时自动替换为0,既满足字段非空要求,又正确反映无审核评论的帖子计数。
  • 简化WHERE条件:原条件中(wpp.comment_count!=wpc.cnt OR (wpp.comment_count != 0 AND wpc.cnt IS NULL))可统一用wpp.comment_count != COALESCE(wpc.cnt, 0)替代,逻辑更简洁,覆盖所有计数不匹配的场景(包括原计数不为0但实际无评论的情况)。

额外注意事项

  • 执行前务必备份数据库,避免数据意外丢失。
  • 如果你的WordPress表前缀不是1we9ZZc0_,请替换为实际的表前缀。
  • 执行后可通过查看帖子评论计数,验证修正效果。

内容的提问来源于stack exchange,提问作者steven minix

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 21:40:24