php – 如何在MySQL中编辑不同的数字值?
发布时间:2020-12-13 22:31:59 所属栏目:PHP教程 来源:网络整理
导读:我在我的数据库中存储了某种用户操作X.如果用户执行另一个操作Y,则字段’New_actions’计数为1.因此,例如: User does action X at 19:07User does action Y at 19:08User does action Y at 19:08User does action X at 19:10User does action Y at 19:12 现
我在我的数据库中存储了某种用户操作X.如果用户执行另一个操作Y,则字段’New_actions’计数为1.因此,例如:
User does action X at 19:07 User does action Y at 19:08 User does action Y at 19:08 User does action X at 19:10 User does action Y at 19:12 现在我在我的数据库中有下一个值: X_actions --- Time --- New_actions Name1 - 19:07 - 3 Name2 - 19:10 - 1 这意味着动作Y在Name1之后完成两次,在Name2之后完成一次.我希望你能理解我.但我有一个问题.每小时应删除2个动作.第一次它应该不是问题:Name1中的’New_actions’字段应编辑为1,但是如何创建第二次将Name1编辑为0的脚本,以及Name2呢? 解决方法SET @remove := 2; UPDATE my_table SET New_actions = IF( New_actions >= @remove,(@remove := 0) + New_actions - @remove,IF(@remove := @remove - New_actions,0) ) WHERE New_actions <> 0 ORDER BY my_table.Time; 使用INT Time列来简化操作,这是执行上面三次块的结果: +------+-------------+ | Time | New_actions | +------+-------------+ | 1 | 3 | | 2 | 3 | | 3 | 3 | +------+-------------+ +------+-------------+ | 1 | 1 | | 2 | 3 | | 3 | 3 | +------+-------------+ +------+-------------+ | 1 | 0 | | 2 | 2 | | 3 | 3 | +------+-------------+ +------+-------------+ | 1 | 0 | | 2 | 0 | | 3 | 3 | +------+-------------+ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |