请参阅我的创建声明:
CREATE TABLE INTERNAL_MEDICINE_DETAIL(DIAGNOSE_ITEM VARCHAR(15) NOT NULL,
EXM_RESULT VARCHAR(50),
IDENTIFY_ID INT AUTO_INCREMENT PRIMARY KEY,
SUMMARY_ID INT NOT NULL,
FOREIGN KEY(SUMMARY_ID) REFERENCES INTERNAL_MEDICINE_SUMMARY(SUMMARY_ID),
FOREIGN KEY(DIAGNOSE_ITEM) REFERENCES INTERNAL_MEDICINE_ITEM_DEF(DIAGNOSE_ITEM))
引用的两个表创建成功:
CREATE TABLE INTERNAL_MEDICINE_ITEM_DEF(DIAGNOSE_ITEM VARCHAR(15) NOT NULL,
ITEM_DESCRIPTION VARCHAR(50) NOT NULL,
IDENTIFY_ID INT AUTO_INCREMENT PRIMARY KEY)
CREATE TABLE INTERNAL_MEDICINE_SUMMARY(SUMMARY_ID INT AUTO_INCREMENT PRIMARY KEY,
SUMMARY VARCHAR(1000),
R_IDENTIFYID INT NOT NULL,
FOREIGN KEY(R_IDENTIFYID) REFERENCES BASICINFO(IDENTIFY_ID))
我在 MySQL 网站上看到了错误代码 1005 的平均值,它说:无法创建表。如果错误消息涉及错误 150,则表创建失败,因为未正确形成外键约束。如果错误消息涉及错误 –1,则表创建可能失败,因为该表包含与内部 InnoDB 表的名称匹配的列名称。
我的错误目前是 150,但我找不到 INTERNAL_MEDICINE_DETAIL 表中定义的两个外键与 INTERNAL_MEDICINE_SUMMARY 和 INTERNAL_MEDICINE_ITEM_DEF 中定义的两个字段的区别。
所以,你能帮我告诉我原因吗?