我是MySQL新手,我是在创建一个管理糖尿病患者信息的数据库。我有6个表,这里重要的是3个表,diabetic
表,diabetic_profile
表和medication_profile
表。
最后一个表(medication_profile
)应该是一个复合表,它将有两个主外键。这些外键是diabetic_id
(diabetic
)和profile_id
(diabetic_profile
)。将其转换为MySQL代码对我来说是困难的部分。我尝试了很多方法,但还不能实现。下面是我使用的sql命令:
CREATE TABLE Medication_Profile (
medication_type VARCHAR(10) NOT NULL,
profile_id INT NOT NULL,
diabetic int NOT NULL,
times_a_day NUMERIC(1) NOT NULL,
dose VARCHAR(20) NOT NULL,
PRIMARY KEY (medication_type, profile_id, diabetic),
FOREIGN KEY (profile_id, diabetic)
REFERENCES Diabetic_Profile (profile_id, diabetic_id)
);
请注意,此表中的diabetic_id已经是Diabetic_profile表中存在的外键。
那么您可以提供任何建议吗?
提前致谢
答案 0 :(得分:0)
每个外键都需要一个单独的FOREIGN KEY
子句,因为它们引用了不同的表。
FOREIGN KEY (diabetic_id) REFERENCES diabetic (diabetic_id),
FOREIGN KEY (profile_id) REFERENCES diabetic_profile (profile_id)