首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何进行限制,使约会不能重复?

如何进行限制,使约会不能重复?
EN

Stack Overflow用户
提问于 2021-11-26 00:27:01
回答 1查看 29关注 0票数 1

我想作出限制,规定与某位医生的预约不能重复超过一次。例如,如果一个人选择2021年9月11日的预约时间为15:00到15:30,则不能在同一医生处再次预约相同的预约。phpMyAdmin版本为:服务器版本: 10.4.10-MariaDB

代码语言:javascript
运行
复制
CREATE OR REPLACE TABLE appointments (
    AppId     int(11) PRIMARY,
    docID     int(11),
    patientID int(11),
    AppStart  datetime,
    AppEnd    datetime
  )
EN

回答 1

Stack Overflow用户

发布于 2021-11-26 01:03:02

您可以执行以下操作:

代码语言:javascript
运行
复制
alter table appointments
add constraint unique_dr_app_start unique (docID, AppStart);

示例:

代码语言:javascript
运行
复制
insert into appointments (AppId, docID, AppStart) 
values (1, 123, '2021-11-25 12:30:00'); -- OK

insert into appointments (AppId, docID, AppStart) 
values (2, 123, '2021-11-25 10:30:00'); -- OK

insert into appointments (AppId, docID, AppStart)
values (3, 123, '2021-11-25 12:30:00'); -- error

键'unique_dr_app_start‘的

重复条目'123-2021-11-25 12:30:00’

编辑--包括结束约会验证

您还可以设置约束:

代码语言:javascript
运行
复制
alter table appointments
add constraint unique_dr_app_end unique (docID, AppEnd);

你可以在工作中通过以下方式查看它:

代码语言:javascript
运行
复制
insert into appointments (AppId, docID, AppStart) 
values (4, 123, '2021-11-25 10:30:00'); -- error

关键字'unique_dr_app_start'的

重复条目'123-2021-11-25 10:30:00‘

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

https://stackoverflow.com/questions/70118492

复制
相关文章

相似问题

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