在MySQL中,要查詢所有子節點可以使用遞歸查詢或者使用臨時表進行操作。以下是兩種方法:
category
的表,表結構如下:id | parent_id | name
可以通過以下遞歸查詢來查詢所有子節點:
WITH RECURSIVE cte AS (
SELECT id, parent_id, name
FROM category
WHERE id = <parent_id> -- 指定要查詢的父節點ID
UNION ALL
SELECT c.id, c.parent_id, c.name
FROM category c
JOIN cte ON c.parent_id = cte.id
)
SELECT * FROM cte;
CREATE TEMPORARY TABLE temp_category AS
SELECT id, parent_id, name
FROM category
WHERE id = <parent_id>; -- 指定要查詢的父節點ID
INSERT INTO temp_category
SELECT c.id, c.parent_id, c.name
FROM category c
JOIN temp_category t ON c.parent_id = t.id;
SELECT * FROM temp_category;
以上是兩種在MySQL中查詢所有子節點的方法,可以根據具體情況選擇適合的方法進行操作。