NAVICAT中截圖
表結構如下圖
隨便創建一個類型的表格查詢數據
查詢父節點
代碼如下
BEGIN DECLARE i varchar(100) default ''; DECLARE j varchar(1000) default rootId; WHILE rootId is not null do SET i =(SELECT parent_id FROM paternal_tree WHERE id = rootId); IF i is not null THEN SET j = concat(j, ',', i); SET rootId = i; ELSE SET rootId = i; END IF; END WHILE; return j; END
截圖如下所示
注意下方需要加入的參數,和返回類型,類型選對。最后調用該函數就行
查詢子節點類似,這里貼上代碼就行。
BEGIN DECLARE str varchar(2000); DECLARE cid varchar(100); SET str = '$'; SET cid = rootId; WHILE cid is not null DO SET str = concat(str, ',', cid); SELECT group_concat(id) INTO cid FROM paternal_tree where FIND_IN_SET(parent_id, cid) > 0; END WHILE; RETURN str; END
這里在調用就行。