Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql(5.6版)层次结构在节点有多个父节点时查询所有父节点_Mysql_Sql_Hierarchy - Fatal编程技术网

Mysql(5.6版)层次结构在节点有多个父节点时查询所有父节点

Mysql(5.6版)层次结构在节点有多个父节点时查询所有父节点,mysql,sql,hierarchy,Mysql,Sql,Hierarchy,为了找到我的答案,我搜索了很多,最相关的是 答案很好,但我发现当一个节点有多个父节点时,此解决方案不起作用。如下表所示: id, node_id, parent_id 1, 1, 2 2, 2, 3 <----- 3, 2, 4 <----- 4, 4, 5 5, 5, 6 6, 6, 7 i

为了找到我的答案,我搜索了很多,最相关的是

答案很好,但我发现当一个节点有多个父节点时,此解决方案不起作用。如下表所示:

id, node_id, parent_id
 1,       1,         2
 2,       2,         3    <-----
 3,       2,         4    <-----
 4,       4,         5
 5,       5,         6
 6,       6,         7
id,节点id,父节点id
1,       1,         2

2,2,3 MySQL 5.6不支持递归查询,因此您不能(安全地)通过一次选择来实现这一点。您可以使用递归存储过程,更改数据模型(在每行中包含完整的路径),或者升级到MySQL 8+。为了找到答案,我搜索了很多,最相关的一个是使用单查询(递归查询)查找MySQL表中的所有父级。这是一个伪解决方案,它强烈(或反向)要求
parent\u id
对于除“仅一个父项”关系之外的所有记录。