mysql 5.7.4 表里有pid 如何通过 pid 查询到其子节点的所有数据
时间: 2024-05-06 11:15:06 浏览: 114
如果您的表是使用递归关系来表示树形结构的话,可以使用递归查询来查询pid的所有子节点数据,递归查询可以使用MySQL中的WITH RECURSIVE语句实现。以下是一个示例代码:
```
WITH RECURSIVE cte AS (
SELECT id, pid, name
FROM your_table
WHERE pid = your_pid -- your_pid是要查询的pid值
UNION ALL
SELECT t.id, t.pid, t.name
FROM your_table t
JOIN cte ON t.pid = cte.id
)
SELECT * FROM cte;
```
其中,cte是递归查询的临时表,第一条SELECT语句是查询pid为your_pid的所有子节点,第二条SELECT语句是递归查询cte表中的每个节点的子节点,直到没有子节点为止。
您只需要将代码中的your_table和your_pid替换成您自己的表名和pid值即可。
阅读全文