我有一個組件數(shù)據(jù)庫。每個組件都是特定的類型。這意味著組件和類型之間存在多對一的關(guān)系。刪除類型時,我想刪除所有具有該類型外鍵的組件。但是,如果我沒記錯的話,級聯(lián)刪除將在刪除組件時刪除類型。有什么辦法可以做我所描述的嗎?
3 回答

小怪獸愛吃肉
TA貢獻1852條經(jīng)驗 獲得超1個贊
這就是您要包含在組件表中的內(nèi)容。
CREATE TABLE `components` ( `id` int(10) unsigned NOT NULL auto_increment, `typeId` int(10) unsigned NOT NULL, `moreInfo` VARCHAR(32), -- etc PRIMARY KEY (`id`), KEY `type` (`typeId`) CONSTRAINT `myForeignKey` FOREIGN KEY (`typeId`) REFERENCES `types` (`id`) ON DELETE CASCADE ON UPDATE CASCADE)
請記住,您需要使用InnoDB存儲引擎:默認的MyISAM存儲引擎不支持外鍵。

慕森卡
TA貢獻1806條經(jīng)驗 獲得超8個贊
您必須將外鍵約束定義為ON DELETE CASCADE。
注意:您需要使用InnoDB存儲引擎,他默認的MyISAM存儲引擎不支持外鍵關(guān)系。
CREATE TABLE `table2` (`id` int(11) NOT NULL auto_increment,`name` int(11) NOT NULL,PRIMARY KEY (`id`),KEY `ids` (`ids`)CONSTRAINT `foreign` FOREIGN KEY (`ids`) REFERENCES `table2` (`ids`) ON DELETE CASCADE ON UPDATE CASCADE)
添加回答
舉報
0/150
提交
取消