我想作出限制,规定与某位医生的预约不能重复超过一次。例如,如果一个人选择2021年9月11日的预约时间为15:00到15:30,则不能在同一医生处再次预约相同的预约。phpMyAdmin版本为:服务器版本: 10.4.10-MariaDB
CREATE OR REPLACE TABLE appointments (
AppId int(11) PRIMARY,
docID int(11),
patientID int(11),
AppStart datetime,
AppEnd datetime
)
发布于 2021-11-26 01:03:02
您可以执行以下操作:
alter table appointments
add constraint unique_dr_app_start unique (docID, AppStart);
示例:
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’
编辑--包括结束约会验证
您还可以设置约束:
alter table appointments
add constraint unique_dr_app_end unique (docID, AppEnd);
你可以在工作中通过以下方式查看它:
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‘
https://stackoverflow.com/questions/70118492
复制相似问题