請參閱我的create語句:錯誤代碼:1005不能創建表
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))
我見過的錯誤代碼1005的平均值MySQL的網站,它說: 無法創建表。如果錯誤消息引用錯誤150,則表創建失敗,因爲外鍵約束未正確形成。如果錯誤信息是指錯誤-1,表創建可能失敗,因爲該表包括匹配的內部InnoDB表的名稱,列名。
我目前的錯誤是150,但是我找不到INTERNAL_MEDICINE_DETAIL表中定義的兩個外鍵與INTERNAL_MEDICINE_SUMMARY AND INTERNAL_MEDICINE_ITEM_DEF中定義的兩個字段的區別。
所以,請你幫幫我,告訴我原因嗎?
感謝,現在的工作。 – zhanzhex 2012-08-04 10:47:38
不知道爲什麼有人投下來..創建索引對被引用表爲我工作。 – 2012-12-20 01:00:27