MySQL 查询之间的操作符与 php 的问题
Posted
技术标签:
【中文标题】MySQL 查询之间的操作符与 php 的问题【英文标题】:Problem on MySQL Query on Between Operator with php 【发布时间】:2019-02-25 06:28:08 【问题描述】:我有 mysql 表“room_booking”,该表包含两列“start_time”和“end_time”。我想查看会议室预订的时间。假设如果房间是从下午 2:10 到下午 3:15 预订的。那么此时不应插入另一个条目。 我的查询是
$queryCheck = "SELECT start_time,end_time FROM room_booking AND (SELECT * FROM (room_booking) WHERE (start_time NOT BETWEEN '".$new_start_time."' AND '".$end_start_time."') AND (end_time NOT BETWEEN '".$new_start_time."' AND '".$end_start_time."'))";
【问题讨论】:
【参考方案1】:在我看来这只是重叠范围问题,在这种情况下,您希望返回与输入开始和结束时间不重叠的记录。试试这个查询:
SELECT *
FROM room_booking
WHERE existing_end < ? OR existing_start > ?;
对于上面的两个?
占位符,您可以按顺序绑定$new_start_time
和$end_start_time
。因此,您最终会得到以下查询:
SELECT *
FROM room_booking
WHERE existing_end > $new_start_time OR existing_start > $end_start_time;
【讨论】:
【参考方案2】:你可以用这个:-
INSERT INTO `room_booking` (`room`,`start_time`,`end_time`)
SELECT 'A','2019-02-25 07:55:00','2019-02-25 08:00:00' FROM `room_booking`
WHERE NOT EXISTS
(SELECT * FROM `room_booking` WHERE '2019-02-25 07:55:00' BETWEEN `start_time` AND `end_time`)
如果您有任何疑问,请告诉我?
我附上截图解释.
【讨论】:
以上是关于MySQL 查询之间的操作符与 php 的问题的主要内容,如果未能解决你的问题,请参考以下文章
关于wamp的HTML, PHP, mysql 三者的操作与联系 - HTML与PHP之间传值(上)
关于wamp的HTML, PHP, mysql 三者的操作与联系 - HTML与PHP之间传值(下)