【发布时间】:2021-01-18 14:20:45
【问题描述】:
我的用户可以创建预订,但我想限制它 - 假设一个用户最多可以进行 5 个“待定”状态的预订,在管理员批准预订和待定状态更改以批准后,用户可以进行另一个预订。
当用户进行预订时,默认情况下会给出待处理状态。我想要实现的是,如果reservations 表在同一个user_id 下有5 个Pending 预订,则用户无法进行新预订,因此他会收到无法进行更多预订的警报。
我的问题是,我怎样才能做到这一点?是使用 COUNT,还是应该为它创建触发器?非常感谢您提供有关如何处理此问题的任何建议。
【问题讨论】:
-
您需要这样的查询:
SELECT COUNT(*) as number_of_reservations FROM reservations WHERE user_id = id and status = 'pending'。如果大于 5,则返回错误消息。 -
谢谢@Daan,应该在我的“创建预订”查询中使用还是单独使用?
-
用户可以一键进行多次预订吗?
-
我会在您调用“创建预订”查询之前执行选择查询。
-
不,@KIKOSoftware,您可以预订的每栋房子都有自己的 ID,所以一栋房子 - 一个预订按钮 - 一个预订。