-1

我正在学习一些 Mysql 并且我有一个问题:在我的数据库中,当有人将商品放入购物车时,它会处于“保留”状态。但如果此人在接下来的 30 分钟内没有结帐,则该项目应再次设置为“免费”。不使用 CRON 可以制作吗?或者一些轻量级的解决方案......

谢谢!:)

4

1 回答 1

0

一种方法是将 reserved 设置为特定时间,例如:

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 列上放置一个索引。

于 2013-02-14T11:55:03.307 回答