【发布时间】:2019-12-10 16:28:19
【问题描述】:
所以我有下表:
CREATE TABLE Hospital_MedicalRecord(
recNo CHAR(5),
patient CHAR(9),
doctor CHAR(9),
enteredOn DATE NOT NULL,
diagnosis VARCHAR(50) NOT NULL,
treatment VARCHAR(50),
PRIMARY KEY (recNo, patient),
FOREIGN KEY (patient) REFERENCES Hospital_Patient(NINumber),
FOREIGN KEY (doctor) REFERENCES Hospital_Doctor(NINumber)
);
我想做到这一点,因此单个患者的医疗记录永远不会超过 65,535 条。我应该做一个新的声明还是应该在上表中实现它。如果需要,我可以张贴患者表。
【问题讨论】:
-
听起来你想要insert trigger。但是,如果您希望(可能)将较旧的医疗记录简单地从系统中删除,我必须询问您的系统架构是否有其他问题。
-
如果表中有单个患者的 65,535(顺便说一句,如果患者在同一个数据库中,它不应该是外键)并且有人试图插入新记录,你想要什么那会发生吗?防止它?
-
@BobKaufman 借调插入触发器
-
或者,您可以将逻辑构建到 INSERT 本身中
-
检查这个问题,你可能会找到你要找的东西:stackoverflow.com/questions/39758422/…
标签: mysql sql database max database-trigger