我有树型自引用表。我想使用根元素 id 删除所有子记录。所以我用级联删除添加了自引用约束。当父级具有引用 id 的某些值时,它可以工作。但是我用 null 输入了根元素,所以它没有被删除。任何想法。当我们在树视图中删除根时,如何删除所有子记录。
创建表查询
CREATE TABLE IF NOT EXISTS `_quiz` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`value` varchar(100) DEFAULT NULL,
`type` varchar(20) NOT NULL,
`parent` int(11) DEFAULT NULL,
`created` datetime NOT NULL,
`updated` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
KEY `parent` (`parent`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
ALTER TABLE `_quiz`
ADD CONSTRAINT `_quiz_ibfk_2` FOREIGN KEY (`parent`) REFERENCES `_quiz` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;
我的数据表
红色突出显示的是根。当我们删除时,所有孩子都需要被删除。但它没有发生!
还有其他的吗?