2015-07-13 82 views
0

我有一個父和子元素的鄰接表,當我刪除我的父元素時,我想刪除他的所有孩子。在鄰接表中刪除

我的表:

id name parent 
1 Name1 null 
2 SubName1 1 

當我試圖刪除與ID = 1的行,我想刪除和id = 2 我怎樣才能做到這一點?

我的表:

CREATE TABLE IF NOT EXISTS `cats` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `name` varchar(255) NOT NULL, 
    `parent` int(11) DEFAULT NULL, 
    PRIMARY KEY (`id`), 
    KEY `parent` (`parent`) 
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1; 
+0

你使用了哪個數據庫? –

+0

*這是一個數據庫表嗎? – Oswald

+0

這是不正確的,它應該是「他或她的孩子」。除非你使用Mac,否則無關緊要 – musefan

回答

0

外鍵可能是解決方案。 您如何創建它們取決於您使用的數據庫。

在外鍵處定義了一個主鍵,它就像一個「父母」,如果父母被刪除,孩子會被刪除,如果你定義它。

+0

我已經使用了MySQL。 – user889349

+0

「當我試圖刪除id = 1的行時,我想刪除並且id = 2我該怎麼做?」所以你想要的是,如果你刪除ID爲1的行,'子'行也被刪除? – Dexkill

+0

是的。你是對的。 – user889349