小白
这种数据如何做到,删除id=X的值的,并且pId=X的数据也删除?河南-浅笑
事务呀
不需要存储,弄个事务不就好了么
同时执行两条delete语句
河南-浅笑
不会
看数据库设计
有rootid
还是两条
有path
只要匹配到path的,全部删掉就可以了
白金-喂喂
为什么不用where 里面带or
DELETE FROM 表 where id=600 or pid=600
成都-刁民
with a as
(select FID from 表 where FID ='值'
union all
select x.FID from 表 x,a where x.FPID =a.FID )
delete from 表 where FID in(select FID from a )
尼玛 想想 就然感觉 像个 2叉树
白金-喂喂
删除id=X的值的,并且pId=X的数据!
翻译一下,就是删除id=x 或者 pid=x啊
白金-喂喂
是我审题有误嘛 。。 小白
@白金-喂喂 审题没问题,这种如果二级的可以,多级的就有问题了
白金-喂喂
你的意思是删除入口条件必须是 id=x 之后才允许删除其他字段=x的数据行?
小白
接受参数id=x之后,先删除pId=x,之后再删除id=x我再试试吧 白金-喂喂
tips:不要递归delete,递归条件,然后delete
河南-浅笑
@小白 真不一定要递归的。。
只要你的数据库字段设计的好
无限级分类一般都建议使用path,记录全路径就可以了
小白
这字段 白金-喂喂
其实有一种身份登记的方法,加个字段标识这个 白金-喂喂
身份等级,最高级表示0,然后就是1,2,3 删除0的时候就表示删除根,然后对整个组全删除
白金-喂喂
你的这个结构就是一个个的组啊,但是这个设计会造成数据的耦合,不过这里可以微小的牺牲下设计范式。 小白
这种方式知道,没办法了,开始就脑残用这种,主要是考虑到跟Ztree插件结合。
白金-喂喂
额,那就递归
递归也不坏,只要不递归delete就行
哈哈哈
【
sql中如何查询两个字段值相等的数据】
数据不大的话,考虑用内连接select p1.user,p2.pass from (select user from sp_aaa) as p1 inner join sp_AAA as p2 on p1.