Mysql 将数据递归插入表以查找路由

Mysql 将数据递归插入表以查找路由,mysql,sql,recursion,Mysql,Sql,Recursion,我试图在MySQL中实现一个地铁最短路径算法。 下面是其中一张表格“station”及其所依据的地图 这个想法基本上是 创建具有单列的新表“route”。充当堆栈的 输入起点和终点站 因为为了简单起见,我只显示一个表,所以假设我想从G1转到RG。 所以我的“路由”表应该有3行——G1、G2、RG 我计划使用下一个站列(站ID外键)插入这些 与插入起始点(G1)一样,插入下一个(G2),插入下一个(RG),dest,因此终止 所以,有人能给我一个关于如何启动和什么是必要的(过程、触发器、CTE、函

我试图在MySQL中实现一个地铁最短路径算法。 下面是其中一张表格“station”及其所依据的地图

这个想法基本上是

  • 创建具有单列的新表“route”。充当堆栈的
  • 输入起点和终点站
  • 因为为了简单起见,我只显示一个表,所以假设我想从G1转到RG。 所以我的“路由”表应该有3行——G1、G2、RG

    我计划使用下一个站列(站ID外键)插入这些

    与插入起始点(G1)一样,插入下一个(G2),插入下一个(RG),dest,因此终止

    所以,有人能给我一个关于如何启动和什么是必要的(过程、触发器、CTE、函数)的想法吗?因为我在如何实际实现它们方面没有太多实践经验


    我怀疑您已经知道这一点,但np完全问题并不是sql的优点at@Strawberry但由于我所从事的项目坚持(我的)sql是主要概念,但这会影响解决方案。例如,如果我想找到一条从R1到R3的路线。根据目前的数据,我永远找不到一条路线。例如,我会看一看,这似乎类似于你模糊地想到的策略。正如草莓所说,这不是sql中应该做的事情,但您可能想尝试一下,至少是想知道您可能需要走的方向。我还要重新检查前提“但我所从事的项目仍然坚持(我的)sql是主要概念”是否排除将数据加载到应用程序中并在那里解决它。