MySQL中的向上查询父节点通常是指在一个具有层级关系的表中,查询某个节点的所有上级节点。这种查询在树形结构的数据中非常常见,例如组织结构、分类目录等。
假设我们有一个表 categories
,结构如下:
CREATE TABLE categories (
id INT PRIMARY KEY,
name VARCHAR(255),
parent_id INT,
FOREIGN KEY (parent_id) REFERENCES categories(id)
);
WITH RECURSIVE category_path AS (
SELECT id, name, parent_id
FROM categories
WHERE id = 5 -- 假设我们要查询id为5的节点的父节点
UNION ALL
SELECT c.id, c.name, c.parent_id
FROM categories c
INNER JOIN category_path cp ON c.id = cp.parent_id
)
SELECT * FROM category_path;
假设我们已经预先计算并存储了每个节点的父节点路径:
CREATE TABLE category_paths (
id INT PRIMARY KEY,
path VARCHAR(255)
);
查询父节点:
SELECT * FROM category_paths WHERE id = 5;
希望这些信息对你有所帮助!
领取专属 10元无门槛券
手把手带您无忧上云