首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >检查是否进行了时隙/预订

检查是否进行了时隙/预订
EN

Stack Overflow用户
提问于 2013-01-29 23:45:54
回答 3查看 2K关注 0票数 0

编辑:戈登发布的查询似乎有问题。如果我有一个10-12的预订,它似乎认为下午12点以后的所有预订都无效,但上午10点之前的所有预订都是有效的。

一些快速而简单的想法最终使我创建了以下查询:

代码语言:javascript
运行
复制
SELECT serverip 
        FROM   server 
        WHERE  serverip NOT IN (SELECT serverip 
                                FROM   booking 
                                WHERE  startat >= datehere 
                                AND expiresat <= datehere) 
        LIMIT  1; 

假设booking表存储以下内容:

代码语言:javascript
运行
复制
+-----------+-----------+----------+----------+-----------+
| bookingid | serverip  | username | startat  | expiresat |
+-----------+-----------+----------+----------+-----------+
|         1 | 127.0.0.1 | testuser | 10:00    | 12:00     |
+-----------+-----------+----------+----------+-----------+

如果用户要输入以下数据进行预订:

代码语言:javascript
运行
复制
startat = 9:59
expiresat = 12:01

他们可以很容易地绕过我的检查,看看预订时间是否基于之前存储的预订而可用。

对于如何更好地解决这个问题,有什么建议吗?

我更喜欢而不是来限制用户输入,并希望避免硬编码特定的时间段,如果这不是问题,但我会坚持我已经得到的。

耽误您时间,实在对不起。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14586739

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档