2015-07-13 2 views
0

У меня есть таблица смежности с родительским и дочерним элементами, и когда я удаляю свой родительский элемент, я хотел бы удалить все его дочерние элементы.удалить в таблице смежности

Мой стол:

id name parent 
1 Name1 null 
2 SubName1 1 

Когда я пытаюсь удалить строку с идентификатором = 1 Я хотел бы удалить и идентификатор = 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 Как я могу это сделать?» Итак, вы хотите, чтобы, если вы удалили строку с идентификатором 1, чтобы строки «child» тоже были удалены? – Dexkill

+0

Да. Ты прав. – user889349

Смежные вопросы