数据如下
id name parentId
1 a 0
2 b 1
3 c 1
4 d 0
5 e 4
6 f 4
...页面上删除id=1或者2或者3中任何一条数据
要求把id=1或者parentId=1的数据都删掉

解决方案 »

  1.   

    delete from table1 where id=1 or parentld=1
      

  2.   

    我如果删除id=2的数据,怎么先去查询id=2的数据对应的parentld=1,再把所有的parentld=1的数据删掉
      

  3.   


    比如我想删除id=2的所有关联数据步骤如下
    1先查询到id=2的数据对应项的parentId=1
    2接着再去查询表中parentId=1的数据
    3把id=1和parentId=1的数据都删除
      

  4.   

    可以先创建一个和 table1一样的表
    create table table2 as
    select * from table1;
    然后
    delete from table where parentld in (select parentld from table2 where id=2 and parentld =1);
      

  5.   

    一个SQL语句无法直接实现这种递归。 建议直接用程序实现。
      

  6.   

    貌似是级联删除 可能是删两层也可能是三层四层  这样的话需要些存储过程来删 一条sql
    恐怕完成不了
      

  7.   

    其实我在插入数据的时候,就特别注意了不会出现多级递归,如果有,这边也不考虑,觉得用sql实现的话性能比较高一点,不用重复打开关闭链接
      

  8.   

    页面上删除id=1或者2或者3中任何一条数据
    要求把id=1或者parentId=1的数据都删掉
    你到底是要删除id的条件记录的呢,还是parentID的呢