我需要为Meetup创建一个表,其中包含患者ID、doctor ID、会议更新和类型. 如果类型是IRM,如果最后一次不到两个月前,我就不能再有第二次会议了. 我需要用支票来做,但它不起作用. 以下是我的代码:
CREATE TABLE MeetUp (
MeetUp ID INT AUTO_INCREMENT PRIMARY KEY,
PatientID INT,
DoctorID INT,
MeetUpDate DATE,
ExamType VARCHAR(50)
CHECK (ExamType <> 'IRM' OR (
NOT EXISTS (
SELECT 1
FROM MeetUp AS M2
WHERE M2.PatientID = MeetUp.PatientID
AND M2.ExamType = 'IRM'
AND DATE_ADD(M2.MeetUpDate , INTERVAL 2 MONTH) > MeetUp.MeetUpDate
)
)),
Realise TINYINT(1) NOT NULL,
CONSTRAINT fk_patient FOREIGN KEY (PatientID) REFERENCES Patients(patient_id),
CONSTRAINT fk_doctor FOREIGN KEY (DoctorID) REFERENCES Doctors(doctor_id)
);
它给我一个错误"#1146-桌子‘Meetup’不存在" 我正在使用PhpMyAdmin
我对数据库和SQL完全陌生,真的不知道有什么问题
我试着问Chat GPT,但他告诉我使用触发器,但我需要使用Check