我有一张这样的桌子:
CREATE TABLE `Appointment` (
id INT NOT NULL AUTO_INCREMENT,
user_id INT NOT NULL,
doctor_slot_id INT NOT NULL,
date DATE NOT NULL,
PRIMARY KEY(id),
FOREIGN KEY(user_id) REFERENCES user(id),
FOREIGN KEY(doctor_slot_id) REFERENCES doctor_slot(id)
);
我希望用户一天不能多次安排与医生的预约。所以我想在医生 ID 和用户 ID 之间添加一个唯一约束,但在这个结构中我不能。我尝试了那些不在 SQL 语法中的东西:
UNIQUE(user_id, doctor_slot.doctor_id)
和
UNIQUE(user_id, doctor_slot(doctor_id))
和
UNIQUE(user_id, doctor_id(doctor_slot))
但如你所知,他们没有工作。你有什么建议吗?