在我当前的应用程序中,我正在制作一个菜单结构,可以递归地创建子菜单。然而,由于这个原因,我发现很难也允许某种重新排序方法。大多数应用程序可能只是按“排序”列排序,但是在这种情况下,尽管这样做似乎并非不可能,只是有点困难。
我想要做的是使用 ID 列。因此,如果我将 id 10 更新为 id 1,那么之前存在的 id 1 将变为 2。
根据朋友的建议,我在想的是使用级联。然而,做更多的研究似乎并没有像我想象的那样奏效。
所以我的问题是,是否有能力在 MySQL 中天真地做到这一点?如果是这样,我可以通过什么方式做到这一点?如果不是,你会建议什么来得出最终结果?
列:
id title alias icon parent
父母的 id 比他们的孩子低,以确保脚本创建数组以将孩子放入其中。该部分有效,但是如果我想使用排序列,我将必须创建一个编号系统,以确保子元素在结果中永远不会高于其父元素。可能,但是如果我更新一个父级,那么我也必须唯一地更新它的所有子级,从而产生更多我想要的 MySQL 查询。
我不是 MySQL 专家,所以这就是我提出这个问题的原因,我觉得可能有一个完美的解决方案,可以在应用程序速度方面允许最少的开销。