删除子孙

sxldfang 2013-05-04 04:46:06
下面可以创建一个表并插入数据
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谢谢啦~~~
...全文
134 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
rucypli 2013-05-04
  • 打赏
  • 举报
回复
写个存储过程递归删
ACMAIN_CHM 2013-05-04
  • 打赏
  • 举报
回复
MyISAM 存储引擎的表不支持外键,无法利用外键级联删除。 只能自己写程序来实现,具体可以参考下贴。 http://blog.csdn.net/acmain_chm/article/details/4142971 MySQL中进行树状所有子节点的查询 在Oracle 中我们知道有一个 Hierarchical Queries 通过CONNECT BY 我们可以方便的查了所有当前节点下的所有子节点。但很遗憾,在MySQL的目前版本中还没有对应的功能。 在MySQL中如果是有限的层次,比如我们事先如果可以确定这个树的最大深度是4, 那么所有节点为根的树的深度均不会超过4,则我们可以直接通过left join 来实现。 但很多时候我们...

56,687

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧