我有一个查询,检查是否增加用户的游戏连胜。
INSERT INTO PlayStreak (id, curr_streak, last_play_date)
VALUES (?, 1, ?)
ON DUPLICATE KEY UPDATE
curr_streak = CASE
WHEN last_play_date = ? THEN curr_streak + 1
WHEN last_play_date < ? THEN 1
END
last_play_date = ?
它基本上检查 last_play_date
是昨天(在这种情况下增加连胜)还是昨天之前,因为用户跳过了一天,所以将连胜重置为1。
有没有一种方法可以在不做单独测试的情况下查看条纹何时被重置为1 SELECT
声明?在这种情况下,我想为我的记录做一些php日志记录。mysql的 affected_rows
只会告诉我行是否更新了,而不会告诉我它是如何更新的。有什么想法吗?
暂无答案!
目前还没有任何答案,快来回答吧!