我最近遇到过一个问题。我想在MySQL中创建一个类似游戏的系统,它将添加到 current_energy COLUMN 的用户 TABLE 一个已定义的随着时间的推移定期值,例如每5分钟加5值。
是否有可能通过MySQL本身完成,或者我应该寻找一种更新它的方法,让我们说,玩家使用基于 time()的PHP查询登录; 与 last_login COLUMN 进行比较?
答案 0 :(得分:1)
不要这样做。您将安排一个事件或工作,只需在服务器上添加负载。
相反,使用如下逻辑创建视图:
create view v_table as
select t.*,
current_energy + floor(timestampdiff(minute, last_login, now()) / 5)
from t;