最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql 遞歸查找菜單節(jié)點的所有子節(jié)點的方法

 更新時間:2020年11月26日 16:02:01   作者:Rainydayfmb  
這篇文章主要介紹了mysql 遞歸查找菜單節(jié)點的所有子節(jié)點,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

背景

項目中遇到一個需求,要求查處菜單節(jié)點的所有節(jié)點,在網(wǎng)上查了一下,大多數(shù)的方法用到了存儲過程,由于線上環(huán)境不能隨便添加存儲過程,

因此在這里采用類似遞歸的方法對菜單的所有子節(jié)點進行查詢。

準備

創(chuàng)建menu表:

CREATE TABLE `menu` (
 `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '菜單id',
 `parent_id` int(11) DEFAULT NULL COMMENT '父節(jié)點id',
 `menu_name` varchar(128) DEFAULT NULL COMMENT '菜單名稱',
 `menu_url` varchar(128) DEFAULT '' COMMENT '菜單路徑',
 `status` tinyint(3) DEFAULT '1' COMMENT '菜單狀態(tài) 1-有效;0-無效',
 PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=12212 DEFAULT CHARSET=utf8;

插入數(shù)據(jù):

INSERT INTO `menu` VALUES ('0', null, '菜單0', ' ', '1');
INSERT INTO `menu` VALUES ('1', '0', '菜單1', '', '1');
INSERT INTO `menu` VALUES ('11', '1', '菜單11', '', '1');
INSERT INTO `menu` VALUES ('12', '1', '菜單12', '', '1');
INSERT INTO `menu` VALUES ('13', '1', '菜單13', '', '1');
INSERT INTO `menu` VALUES ('111', '11', '菜單111', '', '1');
INSERT INTO `menu` VALUES ('121', '12', '菜單121', '', '1');
INSERT INTO `menu` VALUES ('122', '12', '菜單122', '', '1');
INSERT INTO `menu` VALUES ('1221', '122', '菜單1221', '', '1');
INSERT INTO `menu` VALUES ('1222', '122', '菜單1222', '', '1');
INSERT INTO `menu` VALUES ('12211', '1222', '菜單12211', '', '1');

得到的目錄結(jié)構(gòu)如下圖所示:

查詢

先貼出sql語句:

比如,要查詢菜單節(jié)點12的所有子節(jié)點,則查處的結(jié)果為:

分析

首先分析from后面的語句,根據(jù)parent_id和id 排序,并將要查詢的菜單節(jié)點當做變量,from后面的結(jié)果為

接下來看if(express1,express2,express3)條件語句,if語句類似三目運算符,當exprss1成立時,執(zhí)行express2,否則執(zhí)行express3;

FIND_IN_SET(str,strlist),str 要查詢的字符串,strlist 字段名 參數(shù)以”,”分隔 如 (1,2,6,8),查詢字段(strlist)中包含(str)的結(jié)果,返回結(jié)果為null或記錄

如果parent_id 在@pid中,則將@pid 里面再加上parent_id,按行依次執(zhí)行,執(zhí)行過程如下表所示:

這時,顯示的id就是菜單id為12的所有子節(jié)點id

到此這篇關(guān)于mysql 遞歸查找菜單節(jié)點的所有子節(jié)點的文章就介紹到這了,更多相關(guān)mysql 遞歸查找菜單節(jié)點內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • win10 安裝mysql 8.0.18-winx64的步驟詳解

    win10 安裝mysql 8.0.18-winx64的步驟詳解

    這篇文章主要介紹了win10 安裝mysql 8.0.18-winx64的步驟,本文圖文并茂給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-11-11
  • MySQL數(shù)據(jù)庫數(shù)據(jù)視圖

    MySQL數(shù)據(jù)庫數(shù)據(jù)視圖

    這篇文章主要介紹了MySQL數(shù)據(jù)庫數(shù)據(jù)視圖,視圖是原始數(shù)據(jù)庫數(shù)據(jù)的一種變換,是查看表中數(shù)據(jù)的另外一種方式,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下
    2022-08-08
  • Linux mysql命令安裝允許遠程連接的安裝設(shè)置方法

    Linux mysql命令安裝允許遠程連接的安裝設(shè)置方法

    對大家推薦很好使用的Linux mysql系統(tǒng),像讓大家對Linux mysql系統(tǒng)有所了解,然后對Linux mysql系統(tǒng)全面講解介紹,希望對大家有用今天特意配置了mysql apache php ,雖然網(wǎng)上很多這方面的例子,但是很多是作者再回憶寫的,所以難免有筆誤的地方。
    2010-08-08
  • Navicat遠程連接SQL Server并轉(zhuǎn)換成MySQL步驟詳解

    Navicat遠程連接SQL Server并轉(zhuǎn)換成MySQL步驟詳解

    最近遇到一個需求是將SQL Server轉(zhuǎn)換為 MySQL的格式,由于不想在本地安裝 SQL Server,所以決定在遠程的 Windows 服務(wù)器上安裝,并在本地使用Navicat遠程連接它,然而在實現(xiàn)過程中遇到了諸多問題,記錄于此。感興趣的朋友們下面來一起學習學習吧。
    2017-01-01
  • mysql免安裝制作使用說明

    mysql免安裝制作使用說明

    mysql免安裝版本的制作方法,需要的朋友可以參考下。
    2010-08-08
  • MYSQL數(shù)據(jù)庫導(dǎo)入數(shù)據(jù)時出現(xiàn)亂碼的解決辦法

    MYSQL數(shù)據(jù)庫導(dǎo)入數(shù)據(jù)時出現(xiàn)亂碼的解決辦法

    我是用的最后一種方法,前面三種解決MYSQL導(dǎo)入數(shù)據(jù)亂碼的方法沒試過,東莞SEO推薦大家直接使用第四種方法處理MYSQL導(dǎo)入中文數(shù)據(jù)時的亂碼問題。
    2011-01-01
  • mysql索引必須了解的幾個重要問題

    mysql索引必須了解的幾個重要問題

    這篇文章主要介紹了mysql索引必須了解的幾個重要問題,分析了MySQL數(shù)據(jù)庫索引的相關(guān)概念與使用技巧,需要的朋友可以參考下
    2016-04-04
  • mysql函數(shù)split功能實現(xiàn)

    mysql函數(shù)split功能實現(xiàn)

    mysql 5.* 的版本現(xiàn)在沒有split 函數(shù),但有些地方會用,在這里就簡單記錄一下
    2012-09-09
  • 把MySQL卸載干凈的超詳細步驟

    把MySQL卸載干凈的超詳細步驟

    這篇文章主要介紹了把MySQL卸載干凈的超詳細步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考價值,需要的朋友們下面跟著小編來一起學習吧
    2024-02-02
  • MySQL?Workbench快速引入sql文件的圖文教程

    MySQL?Workbench快速引入sql文件的圖文教程

    在MySQL使用時,通常需要將數(shù)據(jù)庫sql文件保存,或者是導(dǎo)入他人的sql文件,可以使用workbench處理,這篇文章主要給大家介紹了關(guān)于MySQL?Workbench快速引入sql文件的相關(guān)資料,需要的朋友可以參考下
    2023-11-11

最新評論

睢宁县| 富锦市| 逊克县| 昌黎县| 神木县| 全州县| 乌兰浩特市| 通城县| 浮山县| 郑州市| 灵宝市| 武隆县| 二连浩特市| 客服| 大埔区| 元阳县| 临夏县| 乌海市| 中山市| 赫章县| 西贡区| 修水县| 湖南省| 旬阳县| 湾仔区| 长白| 舟山市| 宜章县| 邵阳市| 保亭| 朝阳市| 五峰| 芦山县| 株洲市| 宜兴市| 大庆市| 通州市| 云龙县| 同仁县| 平和县| 焉耆|