root_id | son_id | uid | title  | content | createdate | type | attaches |
+---------+--------+-----+--------+---------+------------+------+----------+
|       0 |      1 |   0 | 欧洲   | aaa     | 1356969600 |    0 |          |
|       1 |      2 |   0 | 法国   | aaa1    | 1356969600 |    0 |          |
|       1 |      3 |   0 | 荷兰   | aaa2    | 1356969600 |    0 |          |
|       0 |      4 |   0 | 美洲   | bbb     | 1356969600 |    0 |          |
|       4 |      5 |   0 | 美国   | bbb1    | 1356969600 |    0 |          |
|       4 |      6 |   0 | 加拿大 | bbb2    | 1356969600 |    0 |          |
|       4 |      7 |   0 | 墨西哥 | bb3     | 1356969600 |    0 |          |
|       1 |      8 |   0 | 英国   | aaa3    | 1356969600 |    0 |          |
|      11 |      9 |   0 | 韩国   | ccc1    | 1356969600 |    0 |          |
|      11 |     10 |   0 | 中国   | ccc2    | 1356969600 |    0 |          |
|       0 |     11 |   0 | 亚洲   | ccc     | 1356969600 |    0 |          |
|      10 |     12 |   0 | 福建省 | c2c01   | 1356969600 |    0 |          |
|      10 |     13 |   0 | 广东省 | c2c11   | 1356969600 |    0 |          |
|      10 |     14 |   0 | 江苏省 | c2c22   | 1356969600 |    0 |          |
|      14 |     15 |   0 | 昆山市 | c2c2c01 | 1356969600 |    0 |          |
|      14 |     16 |   0 | 苏州市 | c2c2c11 | 1356969600 |    0 |          |请问下要怎么做到级联删除 比如 删除了亚洲 下面的 福建省 广东省 江苏省 昆山市 苏州市 记录都删除掉,删除江苏省 就把 昆山市 苏州市 一起删除掉 

解决方案 »

  1.   

    你可以使用INNODB存储引擎然后设置外键参照,on delete cascade 这样数据库会自行删除所有记录。
      

  2.   

    如果要使用其它方式,可以http://blog.csdn.net/acmain_chm/article/details/4142971参考下贴。
    MySQL中进行树状所有子节点的查询
    在Oracle 中我们知道有一个 Hierarchical Queries 通过CONNECT BY 我们可以方便的查了所有当前节点下的所有子节点。但很遗憾,在MySQL的目前版本中还没有对应的功能。 在MySQL中如果是有限的层次,比如我们事先如果可以确定这个树的最大深度是4, 那么所有节点为根的树的深度均不会超过4,则我们可以直接通过left join 来实现。 但很多时候我们...