我想將外鍵添加到我的表中,但收到此錯誤。 錯誤代碼:1005無法創建表'william。#sql-88c_3'(errno:150) 我有3個表。員工,客戶和合同。MySQL錯誤代碼:1005
僱工[employee_no PK],客戶端[CUSTOMER_NO PK]合同[contract_no PK] 我想有合同外鍵合同[contract_no PK,employee_no FK],CUSTOMER_NO FK]
我試着做直接失敗,我現在正在嘗試alter語句。Alter腳本有什麼問題嗎?
ALTER TABLE contract
ADD CONSTRAINT `employee_no_fk2` FOREIGN KEY (`employee_no`) REFERENCES `employee`
(`employee_no`);
ALTER TABLE contract
ADD CONSTRAINT `Customer_no_fk2` FOREIGN KEY (`Customer_no`) REFERENCES `client`
(`Customer_no`);
第二個鏈接非常有幫助。我試圖添加一個外鍵與刪除設置null,但我的目標列沒有null約束,這是給我這個問題。我可以通過'SHOW引擎innodb STATUS;'命令找出問題。 – 2013-07-29 08:40:50
第二鏈接ftw!我按照他的描述:「我遇到的最常見的變化是主鍵列使用int無符號數據類型,而外鍵列使用int數據類型,InnoDB Engine停止這個當然,你可以通過改變外鍵數據類型來修改它以匹配int無符號數據類型。「 – 2014-02-04 00:43:25