下面可以创建一个表并插入数据
CREATE TABLE IF NOT EXISTS `schools` (
  `id` int(11) NOT NULL,
  `pid` int(11) NOT NULL,
  `bt` varchar(50) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;INSERT INTO `schools` (`id`, `pid`, `bt`) VALUES 
(1, 0, '学校'),
(2, 1, '信息系'),
(3, 2, '软件教研室'),
(4, 3, '张三'),
(5, 2, '硬件教研室'),
(6, 5, '李四'),
(7, 1, '水利系'),
(8, 7, '水工教研室'),
(9, 8, '王五');请问如何删除子孙?比如要删除id号=2时,则同时删除3,4,5,6号记录?O(∩_∩)O谢谢啦~~~

解决方案 »

  1.   

    MyISAM 存储引擎的表不支持外键,无法利用外键级联删除。
    只能自己写程序来实现,具体可以参考下贴。
    http://blog.csdn.net/acmain_chm/article/details/4142971
    MySQL中进行树状所有子节点的查询
    在Oracle 中我们知道有一个 Hierarchical Queries 通过CONNECT BY 我们可以方便的查了所有当前节点下的所有子节点。但很遗憾,在MySQL的目前版本中还没有对应的功能。 在MySQL中如果是有限的层次,比如我们事先如果可以确定这个树的最大深度是4, 那么所有节点为根的树的深度均不会超过4,则我们可以直接通过left join 来实现。 但很多时候我们...