表字段,从这里可以看得出parent_id是上一级的id,而这是在同一个表的。
找出所有的下级(找出的结果包括自己本身,就是会把本身的查出来,在往下找子级)
用完记得把自定义方法删除掉,不然会一直存在占用内存
drop function 函数名称总的操作语句
查出来的内容
添加和删除的就不展示了
这个可以使用上面的那种写方法的方式,也可以不写方法去实现,
SELECT * FROM ( SELECT @r AS _id, (SELECT @r := 父级字段 FROM 表名 WHERE 子级字段 = _id) AS parent_id, @l := @l + 1 AS lvl FROM (SELECT @r := 子级字段, @l := 0) vars, 表名 h WHERE @r <> 0) T1 JOIN 表名 T2 ON T1._id = T2.id ORDER BY 排序字段 DESC;如果存在该函数就删除,就删除这个函数
DROP FUNCTION IF EXISTS 函数名
参考大佬的文档:https://blog.csdn.net/weixin_35756522/article/details/81876534?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~sobaiduend~default-4-81876534.nonecase&utm_term=mysql%20%E9%80%92%E5%BD%92%E5%87%BD%E6%95%B0%E8%AF%A6%E8%A7%A3&spm=1000.2123.3001.4430
