gpt4 book ai didi

php - 防止租车重复预订

转载 作者:行者123 更新时间:2023-11-29 23:24:56 26 4
gpt4 key购买 nike

我一直在互联网上搜索,现在需要一些澄清。

我正在建立一个汽车租赁网站,客户可以在其中预订周末或一周的豪华汽车。

我遇到的问题是创建一种方法来防止两个人在同一日期预订同一辆车。我已阅读有关 TRANSACTION 的内容并想确认它是如何工作的。我读过很多文章,但没有任何内容证实我认为它是如何工作的。

当事务启动时,它是否会暂时将数据插入数据库,从而防止其他人插入相同的数据?或者它只是将插入存储在用户浏览器中并且仅在提交后插入?

交易听起来像是我所需要的,但我只需要在继续之前进行确认。否则我需要另一个解决方案。

提前致谢,我希望这对于花时间阅读它的人来说是有意义的。

最佳答案

有两种方法可以解决这个问题:

一个包含汽车和预订时间的 UNIQUE 索引,因此不可能使用相同的组合创建两条记录:

INSERT INTO bookings (car_id, date, customer_id) VALUES (1, '2014-09-29', 1903)

如果该日期已有预订,您的 INSERT 将失败并出现错误。这里的 bookings 表表示特定日期特定汽车的可用性,如果已预订,则表示预订的客户。您可能想要添加另一个层来表示多日预订。

或者,预订表上的标志通常为 NULL,但可以在预订时设置,尽管您的更新会检查它是否成功:

UPDATE bookings SET customer_id=1903 WHERE id=4535 AND customer_id IS NULL

这样您将无法重新预订已预订的汽车。

关于php - 防止租车重复预订,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27045192/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com