我们的“用户”数据库表有许多计数列,我们希望这些列与用户添加到其他表(例如“照片”)的内容保持同步。我们一直在使用以下方法来实现这一点:
update users u join (
select user_id,count(*) as c
from photos
where status='A' group by user_id) p ON p.user_id=u.user_id
set u.photos=p.c;
然而我们最近注意到,如果用户添加照片然后删除所有照片,上面的查询永远不会将“照片”列重置为 0。删除照片的方式是“照片”表中的“状态”列发生了变化状态“D”。我已经尝试了上述查询的许多排列,但没有任何运气。
我希望具有更多 MySQL 专业知识的人可以建议一个更新的查询,将“用户”表中的“照片”计数列正确重置为 0。提前感谢您的帮助!