共計 1307 個字符,預計需要花費 4 分鐘才能閱讀完成。
自動寫代碼機器人,免費開通
這篇文章將為大家詳細講解有關 mysql 怎樣查詢子節點,丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
mysql 查詢子節點的方法:首先創建 menu 表,并插入數據;然后使用語句進行查詢,代碼為【select id from(select t1.id,if(find_in_set(parent_id, @pids) 0……)】。
mysql 查詢子節點的方法:
創建 menu 表:
CREATE TABLE `menu` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 菜單 id ,
`parent_id` int(11) DEFAULT NULL COMMENT 父節點 id ,
`menu_name` varchar(128) DEFAULT NULL COMMENT 菜單名稱 ,
`menu_url` varchar(128) DEFAULT COMMENT 菜單路徑 ,
`status` tinyint(3) DEFAULT 1 COMMENT 菜單狀態 1- 有效;0- 無效 ,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=12212 DEFAULT CHARSET=utf8;
插入數據:
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
得到的目錄結構如下圖所示:

查詢
先貼出 sql 語句:
select id from (
select t1.id,
if(find_in_set(parent_id, @pids) 0, @pids := concat(@pids, , , id), 0) as ischild
from (select id,parent_id from re_menu t where t.status = 1 order by parent_id, id) t1,
(select @pids := 要查詢的菜單節點 id) t2
) t3 where ischild != 0
比如,要查詢菜單節點 12 的所有子節點, 則查處的結果為:

關于 mysql 怎樣查詢子節點就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
向 AI 問一下細節丸趣 TV 網 – 提供最優質的資源集合!
正文完