MySQL通过父id递归查询子节点

1.业务需求,需要选择二级节点后,获取他的所有子节点数据

2.思路通过Mysql的递归查询来获取子节点数据

SELECTpd.id,pd.parent_id,pd.`name` 
FROM( SELECT * FROM p_document_directory_record WHERE parent_id IS NOT NULL ) pd,( SELECT @pid := '父id' ) au
WHEREFIND_IN_SET( parent_id, @pid ) > 0 
AND @pid := concat( @pid, ',', id ) 

2.1 SQL解析

SELECT @pids := '0'
:= 是赋值
这里的意思是对pids进行赋值操作
FIND_IN_SET(parent_id, @pids) 
查找parent_id等于pids的值


3.假如也需要获取选择父节点的选择数据只需要union合并即可

SELECTpd.id,pd.parent_id,pd.`name` 
FROM( SELECT * FROM p_document_directory_record WHERE parent_id IS NOT NULL ) pd,( SELECT @pid := '父id' ) au
WHEREFIND_IN_SET( parent_id, @pid ) > 0
AND @pid := concat( @pid, ',', id ) UNION
SELECTpd.id,pd.parent_id,pd.`name` 
FROMp_document_directory_record AS pd 
WHEREpd.id = '父id';

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/558337.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

tcp out of order解决_Java解决CAS机制中ABA问题的方案

通过对atomic包的分析我们知道了CAS机制,我们在看一下CAS的公式。CAS(V,A,B)1:V表示内存中的地址2:A表示预期值3:B表示要修改的新值CAS的原理就是预期值A与内存中的值相比较,如果相同则将内存中的值改变成新值B。这样比…

request.setCharacterEncoding(“utf-8“) 失效问题

指定后可以通过request.getParameter()获取自己想要的字符串,如果没有提前指定,则会按照服务器端默认的“iso-8859-1”来进行编码;该方法只对post请求有效,对get请求无效;对于get请求,应该在server.xml中指定&#xff…

java 观察者模式_重学 Java 设计模式:实战观察者模式「模拟类似小客车指标摇号过程,监听消息通知用户中签场景」...

一、前言知道的越多不知道的就越多编程开发这条路上的知识是无穷无尽的,就像以前你敢说精通Java,到后来学到越来越多只想写了解Java,过了几年现在可能想说懂一点点Java。当视野和格局的扩大,会让我们越来越发现原来的看法是多么浅…

python中使用什么来实现异常捕捉_Python异常原理及异常捕捉实现过程解析

关于选课程序,最近着实有点忙,没机会复习os、pickle两部分模块,所以数据储存和字典读取成为了一个问题,大致原理知道,但是具体操作可能还是得返回去再好好看看,所以目前就提前开始学习新的知识了&#xff0…

图纸管理软件_造价20万以内的农村别墅长啥样?挑选5套图纸,让城里人羡慕吧...

在老家盖房算是一件“光宗耀祖”的事情,现在的物价高,想盖一栋房随便都要几十万,对于一般家庭来说,要拿出这笔数字并不是一件容易的事,通常大家的预算都有限,希望能花最少的钱盖最好的房,这种心…

python读取文件内容操作_Python 3.6 读取并操作文件内容

下面为大家分享一篇Python 3.6 读取并操作文件内容的实例,具有很好的参考价值,希望对大家有所帮助。一起过来看看吧所使用python环境为最新的3.6版本Python中几种对文件的操作方法:将A文件复制到B文件中去(保持原来格式)读取文件中的内容,返回…

python scikit learn 关闭开源_慕课|Python调用scikit-learn实现机器学习(一)

一、机器学习介绍及其原理1.什么是人工智能?机器对人的思维信息过程的模拟,让它能相认一样思考。a.输入 b.处理 c.输出根据输入信息进行模型建构、权重更新,实现最终优化。特点:信息处理、自我学习,优化升级2.人工智能…

python+ BeautifulSoup抓取“全国行政区划信息查询平台”的省市区信息

全国行政区划信息查询平台地址:http://xzqh.mca.gov.cn/map 检查网页源码: 检查网页源码可以发现: 所有省级信息全部在javaScript下的json中,会在页面加载时加载json数据,填充到页面的option中。 1.第一步&#xff1…

风变编程python论文_如何看待风变编程的 Python 网课?

作为风变推出的python课程的一名学员,很幸运能与风变相遇,更庆幸自己选择学习python,我学习的是python基础课程和爬虫精进课程,目前已经学完了python基础课程,不得不说对我的感触很深,非常想要继续学下去&a…

32利用文件系统保存数据_网易技术实践|Docker文件系统实战

在本文中,我们来实战构建一个Docker镜像,然后实例化容器,在Docker的生命周期中详细分析一下Docker的文件存储情况和DockerFile优化策略。在开始实战之前,我们先介绍一个概念,联合文件系统(Union File Syste…

POI读取word文件,(支持HSSF和XSSF两种方式)

POI读取word文件&#xff0c;&#xff08;支持HSSF和XSSF两种方式&#xff09; 参考&#xff1a;HSSF&#xff0c;XSSF&#xff0c;SXSSF三种方式 1.引用maven&#xff08;版本必须一致&#xff09; <dependency><groupId>org.apache.poi</groupId><art…

pythonsqlite事务_python sqlite3 的事务控制

Python sqlite3 的事务控制官方文档的描述&#xff1a;Controlling TransactionsBy default, the sqlite3 module opens transactions implicitly before a Data Modification Language (DML) statement (i.e. INSERT/UPDATE/DELETE/REPLACE), and commits transactions implic…

二叉树遍历的超简单方法(详细、简单)

二叉树遍历的超简单方法 参考链接&#xff1a;https://wenku.baidu.com/view/e5463e4203d8ce2f0166230a.html 已修改部分问题。 三种常见二叉树的遍历&#xff1a; 先序遍历的递归算法定义&#xff08;简称根左右&#xff09; 若二叉树非空&#xff0c;则依次执行如下操作&a…

怎么看我装的sql能不能用_深入浅出sql优化(三)之单表索引优化

大家好&#xff0c;我是闲水&#xff0c;每天更新java最新最热技术&#xff0c;对java感兴趣的朋友记得关注一下哦。注意 &#xff1a;这是SQL性能优化第三章&#xff0c;点击关注查看前置内容。上篇文章我们主要了解了索引优化的标尺"Explain"怎么用&#xff0c;这一…

java类加载顺序(spring容器下)

执行顺序&#xff1a;父类静态块–>子类静态块–>父类非静态块–>父类构造方法–>子类非静态块–>子类构造方法–>自动装载的方法 子类和父类均加上Service注解&#xff0c;将其交给spring容器管理。 父类&#xff1a; Service public class Father {publ…

python 绘图 hist bin参数_Python-hist,distplot bin宽度不一致问题的解决方案

python的hist有一个bug&#xff0c;之前一直没有解决。绘制直方图的时候&#xff0c;往往出现两组数据由于分布不一样&#xff0c;&#xff0c;导致出来的图片中&#xff0c;虽然是一样数目的bins&#xff0c;但是bin的宽窄不同。而我想得到的是&#xff0c;&#xff0c;虽然数…

Nginx反向代理的使用

1. 常用服务器比较 apache: 功能完善&#xff0c;历史悠久&#xff0c;模块支持非常丰富&#xff0c;属于重量级产品&#xff0c;比较耗费内存。缺点:处理每一个php比较费资源&#xff0c;导致如果高并发时会耗费服务器资源无法处理更多请求。 lighttpd: 内存开销低&#xff0…

python继承语法_python中继承父类的例子(python3的语法)

#codingutf8class Cup:#构造函数&#xff0c;初始化属性值def __init__(self,capacity,color):self.capacitycapacityself.colorcolordef retain_water(self):print("杯子颜色&#xff1a;"self.color"&#xff0c;杯子容量&#xff1a;"self.capacity&quo…

Rabbit发送消息,消费者消费异常

Rabbit发送消息&#xff0c;消费者消费异常 背景&#xff1a; 在步骤1下创建订单&#xff0c;步骤2下提交消息 Transactionalpublic void tradeHandler(Map map) { // 1.生成统一订单 var unifyOrder orderService.create(orderService.getUnifyOrderDTO(fee, alipayOrder));…

jwt token 太长_理解 JWT 鉴权的应用场景及使用建议

JWT 介绍JSON Web Token(JWT)是一个开放式标准(RFC 7519)&#xff0c;它定义了一种紧凑(Compact)且自包含(Self-contained)的方式&#xff0c;用于在各方之间以JSON对象安全传输信息。这些信息可以通过数字签名进行验证和信任。可以使用秘密(使用HMAC算法)或使用RSA的公钥/私钥…