【发布时间】:2012-12-13 15:06:39
【问题描述】:
我有一个将points 存储在表格中的网络应用程序,user 表格中的总分如下:
User Table
user_id | total_points
Points Table
id | date | user_id | points
每次用户赚取积分时,都会发生以下步骤:
1. Enter points value to points table
2. Calculate SUM of the points for that user
3. Update the user table with the new SUM of points (total_points)
用户表中的值可能与积分表中的总和不同步,我希望能够不时地重新计算每个用户的所有积分的总和(例如,每月一次)。我可以编写一个 PHP 脚本,它可以遍历用户表中的每个用户并找到该用户的总和并更新 total_points,但这将是很多 SQL 查询。
有没有更好(有效)的方法来做我想做的事情? 谢谢...
【问题讨论】:
-
插入触发器后不能使用mysql更新用户表吗?
-
我没有 mysql 触发器,但在 php 代码中有一个函数,就像触发器一样。问题是,有时我从数据库的点表中手动删除行。我需要做出规定,从再次计算总和的网络应用程序中删除点,但现在为时已晚:P
-
你用的是哪个版本的mysql? MySQL 触发器非常有用,而不是 PHP 代码。您可以在点表上创建插入、更新、删除触发器来更新用户表。它会比 PHP 代码好得多
-
使用触发器可以同步两个表。