SQL预览
Tips: 使用前请先看语句缺点,否则遇坑勿喷
SELECT *,@childId:=m.parentId,@childId
FROM Menu m
WHERE (CASE WHEN @childId IS NULL THEN m.id = 10 ELSE m.id = @childId END)
ORDER BY m.id DESC
语句执行结果
id | name | parentId | @childId:=m.parentId | @childId |
---|---|---|---|---|
10 | 1.1.1.1.1子级 | 9 | 9 | 9 |
9 | 1.1.1.1子级 | 7 | 7 | 7 |
7 | 1.1.1子级 | 4 | 4 | 4 |
4 | 1.1子级 | 1 | 1 | 1 |
1 | 父级菜单一 | NULL | NULL | NULL |
准备工作
DROP TABLE IF EXISTS Menu;
CREATE TABLE Menu
(
id in