首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >房间可用性

房间可用性
EN

Database Administration用户
提问于 2021-07-04 22:27:44
回答 1查看 46关注 0票数 -1

我想知道怎样才能最好地管理房间或床位的可用性,比如在一家旅店(Saas)。我在考虑使用MySQL和Elasticsearch。房间/床桌和可用性表的最佳模式是什么?

非常感谢。

EN

回答 1

Database Administration用户

回答已采纳

发布于 2021-07-04 22:55:30

MariaDB-10.5有一个功能申请时限-无重叠,它的示例甚至列出了房间的可用性作为示例。

这个例子给出:

代码语言:javascript
复制
CREATE OR REPLACE TABLE rooms (
 room_number INT,
 guest_name VARCHAR(255),
 checkin DATE,
 checkout DATE,
 PERIOD FOR p(checkin,checkout),
 PRIMARY KEY (room_number, p WITHOUT OVERLAPS)
 );

作为一个例子语法。

试图重叠预订将导致错误:

代码语言:javascript
复制
INSERT INTO rooms VALUES 
 (1, 'Regina', '2020-10-01', '2020-10-03'),
 (2, 'Cochise', '2020-10-02', '2020-10-05'),
 (1, 'Nowell', '2020-10-03', '2020-10-07'),
 (2, 'Eusebius', '2020-10-04', '2020-10-06');
ERROR 1062 (23000): Duplicate entry '2-2020-10-06-2020-10-04' for key 'room_number'

因此,在您的应用程序中,您需要将重复的键错误作为异常捕获,并将其视为已预订的。

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

https://dba.stackexchange.com/questions/295260

复制
相关文章

相似问题

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