-3
有誰知道如何添加外鍵與「ON DELETE CASCADE」類型「InnoDB的」表外鍵與「ON DELETE CASCADE」
有誰知道如何添加外鍵與「ON DELETE CASCADE」類型「InnoDB的」表外鍵與「ON DELETE CASCADE」
首先,要確保兩個表是InnoDB的。即使create語句表示InnoDB,如果未安裝此引擎,MySQL也會使用MyISAM。所以檢查他們是否真的是InnoDB。
接下來,確保兩列的類型完全相同(例如,如果其中一個是int(11),另一個是int(11)無符號的,則不能創建外鍵)。確保你引用的列(在你的案例中的bussiness表中的id)有唯一索引(MySQL允許使用任何索引列,但最好使用唯一索引)。如果它是主鍵,則它已具有唯一的索引。
接下來,運行該語句,根據文檔和其他用戶指出:
ALTER TABLE yourtable ADD FOREIGN KEY xyzkey (field) REFERENCES foreigntable (foreignfield) ON DELETE CASCADE;
如果您不能添加外鍵,你可以create trigger instead
你有什麼如此遠? –
您是否檢查過[文檔](http://dev.mysql.com/doc/refman/5.5/en/innodb-foreign-key-constraints.html)? –
我對MyISAM執行了此查詢「ALTER TABLE tbl_businessalbum ADD CONSTRAINT fk_1 FOREIGN KEY(businessId)REFERENCES tbl_business(id)ON DELETE CASCADE」。查詢成功執行bt MyISAM引擎不處理外鍵DELETE CASCADE屬性http://dev.mysql.com/doc/refman/5.0/en/ansi-diff-foreign-keys.html。 –