我在設置名爲Customer
和Customer_Number
的兩個表之間建立關係時遇到問題。我有兩個表都設置爲InnoDB
都有索引,但是當我去創建外鍵時,我得到一個「沒有索引定義」的錯誤。以下是一些屏幕截圖創建外鍵的問題
這是客戶表。
這是Customer_Number表。
這裏是我嘗試創建外鍵時的錯誤消息。
最後,這是我在嘗試手動創建關係時得到的錯誤。
我似乎無法弄清楚這個問題,而且這讓我瘋狂!
輸出爲SHOW CREATE TABLE Customer
是
CREATE TABLE `Customer` (
`Customer_ID` int(11) NOT NULL AUTO_INCREMENT,
`First` varchar(255) NOT NULL,
`Last` varchar(255) NOT NULL,
PRIMARY KEY (`Customer_ID`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1
和輸出SHOW CREATE TABLE Customer_Number
是
CREATE TABLE `Customer_Number` (
`Num_ID` int(11) NOT NULL AUTO_INCREMENT,
`Customer_ID` int(11) NOT NULL,
`Number` varchar(255) NOT NULL,
PRIMARY KEY (`Num_ID`),
KEY `Customer_ID` (`Customer_ID`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1
@MichaelBerkowski與所需的信息更新 – Jcmoney1010 2014-09-24 16:42:27
我嗯其實沒有問題,創建這些表,然後加入FK,或在原來的定義與FK創建它們。這工作:'ALTER TABLE Customer_Number ADD FOREIGN KEY(Customer_ID)REFERENCES Customer(Customer_ID);' – 2014-09-24 16:47:35
當我把你給我的東西,我得到這個錯誤'#1452 - 無法添加或更新子行:外鍵約束失敗('thesnoopz'.'#sql-23d7_8c3428',CONSTRAINT'#sql-23d7_8c3428_ibfk_1' FOREIGN KEY('Customer_ID')REFERENCES'Customer'('Customer_ID'))' – Jcmoney1010 2014-09-24 16:49:58