之前我问过这个问题,人们给了我解决问题的方法,但现在我的问题发生了变化。在我的数据库中有一个名为rooms的表之前。它有一个hold
字段,当有人进行预订时,我会在将来花15分钟时间为该用户保留它。如果该用户未在15分钟内完成预订,则该房间将再次可用。这是我之前问题的解决方案。
但是现在我不再有房间的桌子了。我只有房型和预订表。 Roomtype获得了房间的名称价格信息,当然还有id字段。预订表获得checkin checkout roomtypeid和有关用户的信息。由于我没有房间表,我无法想办法防止多个用户同时预订单个房间。
我的问题是如何在没有房间桌的情况下预防比赛条件?如果不是太多问我想解决方案只有sql和php。 Here is a link to my previous question
编辑:我发现这篇文章,这就是为什么我不再拥有房间的桌子了。 link答案 0 :(得分:1)
您可以在预订表中添加临时预订(带有临时标志/字段),如果预订未在15分钟后结束,请将其删除。
此外,如果多个用户同时尝试预订最后一个房间,您应该再次检查预订的每个步骤的可用性,以通知用户最后一个房间刚刚被拍摄,并提出另一个房型等。