Я работаю над проектом, в котором есть категории / подкатегории. Таблица базы данных для этого уникальна и имеет следующую структуру:
CREATE TABLE IF NOT EXISTS `categories` (
`id` int(11) NOT NULL auto_increment,
`publish` tinyint(1) NOT NULL default '0',
`parent_id` int(11) NOT NULL default '0',
`description` text NOT NULL,
`name` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Таким образом, в случае, если категория является «базовой», parent_id равен нулю, а если у категории есть родительский элемент, он содержит идентификатор родительского элемента. Что я хочу знать, так это: мне нужно удалить все выше и связанные с категорией при выборе этой опции, каскадное удаление, но у меня есть только эта таблица (без внешних ключей) Как я могу это сделать? (Без большого количества запросов.)