私はそのようなテーブルを持っています:
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)
);
ユーザーが 1 日に 1 回しか医師の診察を受けられないようにしたいと考えています。したがって、doctor_id と user_id の間に一意の制約を追加したいのですが、この構造ではできません。SQL構文にないものを試しました:
UNIQUE(user_id, doctor_slot.doctor_id)
と
UNIQUE(user_id, doctor_slot(doctor_id))
と
UNIQUE(user_id, doctor_id(doctor_slot))
しかし、ご存知のように、それらは機能しませんでした。何か提案はありますか?