我正在学习一些Mysql,我有这个问题: 在我的数据库中,当有人将项目放入购物车时,它会变为“保留”状态。但如果该人未在接下来的30分钟内结账,该项目应再次设置为“免费”。是否可以在不使用CRON的情况下制作? 或者一些轻量级的解决方案......
谢谢! :)
答案 0 :(得分:0)
一种方法是将保留设置为特定时间,例如:
update `item` set `reserved` = 1, `reservedto` = ADDTIME(NOW(),'00:30') where `id` = ?;
然后在检查可用项目之前(如果经常发生这种情况,可以在其他地方)添加一个如下所示的realese语句:
update `item` set `reserved` = 0 where `reservedto` < NOW() and `reserved` = 1;
如果你有一个大表,你可能想在reservedto列上放一个索引。