我對此仍然很陌生,所以在我學習規則時要有耐心。我在使用MySQL腳本問題 ,它給了我一個非常常見的錯誤1215(不能建立外鍵)錯誤1215外鍵約束
我已經檢查的數據類型,以及外鍵引用的主鍵,它仍然ISN沒有工作。
The script. Issue is with the two final foreign keys
我對此仍然很陌生,所以在我學習規則時要有耐心。我在使用MySQL腳本問題 ,它給了我一個非常常見的錯誤1215(不能建立外鍵)錯誤1215外鍵約束
我已經檢查的數據類型,以及外鍵引用的主鍵,它仍然ISN沒有工作。
The script. Issue is with the two final foreign keys
必須聲明是這樣的:
必須首先聲明的外鍵:
Create table(id ... , foreignKEY INT NOT NULL,
Constraint FOREIGN KEY(foreignKEY) REFERENCES table_refered(it primary key));
// foreignKEY-必須首先聲明爲一列,然後該聲明後它作爲FOREIGN KEY
好運。
您剛剛在引用的表和列的語法中犯了一個錯誤。
您例如寫道:
foreign key (rm_id) references roomate.rm_id,
它應該是:
foreign key (rm_id) references roomate(rm_id),
語法如下記載:http://dev.mysql.com/doc/refman/5.7/en/create-table-foreign-keys.html
你錯誤的參考key
分配給PERCENTAGE
表時。參考鍵應該是這樣的。
FOREIGN KEY (RM_ID) REFERENCES ROOMMATE(RM_Id)
FOREIGN KEY (ITM_Id) REFERENCES ITEM(ITM_Id)
取而代之的是:
FOREIGN KEY (RM_ID) REFERENCES ROOMMATE.RM_Id
FOREIGN KEY (ITM_Id) REFERENCES ITEM.ITM_Id
我注意到你沒有指定名稱給你的主鍵/唯一約束,你可以從你的外鍵忽略他們。此外,對於簡單(單列)鍵,可以使用列聲明內聯聲明它們,例如削減示例:
CREATE TABLE ITEM (ITM_ID INT(3) NOT NULL UNIQUE);
CREATE TABLE PERCENTAGE (ITM_ID INT(3) NOT NULL REFERENCES ITEM (ITM_ID));
謝謝,這清除了它的權利! –