gpt4 book ai didi

mysql - 从 mysql 获取二叉树的左侧

转载 作者:行者123 更新时间:2023-11-29 21:50:04 29 4
gpt4 key购买 nike

我的表结构是,

username        leg1        leg2
------------------------------------
user1 user2 user7
user2 user3 user8
user3 user4 user9
user4 user5 test
user5 user6 user10

enter image description here

我需要获取user1的左树(需要基于leg1获取树)

Username
--------

user2
user3
user4
user5

我更新的问题

其工作在最低记录。但如果我在最大记录数中使用这个 SP(我有 4200 条记录)。它显示错误为“#1456 - 例程 getFinal 超出了递归限制 255(由 max_sp_recursion_depth 变量设置)”

DELIMITER $$
CREATE PROCEDURE `getFinal`(IN `param_name` VARCHAR(255), OUT `result` VARCHAR(255))
BEGIN
DECLARE `next_param_name` VARCHAR(255);
SELECT `leg1` INTO `next_param_name` FROM `matrix` WHERE `username` = `param_name`;
IF `next_param_name` IS NULL THEN
SET `result` := `param_name`;
ELSE
CALL `getFinal`(`next_param_name`, `result`);
END IF;
END$$
DELIMITER ;

最佳答案

MySQL不支持递归调用,所以你不能用传统的SQL查询来做到这一点。您可以使用您想要的编程语言构建一个函数,或者我认为您可以使用存储过程。

关于mysql - 从 mysql 获取二叉树的左侧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33730935/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com