水果->圆形->颜色等... 我不知道如何用 SQL 表示关系,也不知道如何查询数据。 我想过这样做: MainMenu: ID-6ren">
gpt4 book ai didi

java - 在 SQL 中用 "unlimited"子级表示多层次菜单的最佳方法是什么?

转载 作者:行者123 更新时间:2023-11-29 16:01:08 26 4
gpt4 key购买 nike

我正在尝试创建一个多层菜单,对其可以分支的程度没有限制 - 例如食物->水果->圆形->颜色等...

我不知道如何用 SQL 表示关系,也不知道如何查询数据。

我想过这样做:

MainMenu: ID:ChildID:Name:URL:PermissionID:etc.

SubMenu: PID:ChildID:Name:URL:PermissionID:etc.

我认为如果子菜单有其他子菜单,它的子菜单将是子菜单表中的另一个项目,这应该可以吗? PermissionID 用于确定某个用户组是否可以访问该菜单项。

我不确定 SQL 查询,因为我对它有点陌生。我知道最后我将 UserGroup 的 PermissionID 提供给 SQL 以从表中获取所有菜单和子菜单。

最佳答案

在 RDBMS 中存储分层数据并不是一个好主意。您可以使用基于文档的框架,例如 Elastic https://www.elastic.co/它以 JSON 文档格式存储数据,或者您可以在 RDBMS 的 varchar 列中使用分层 JSON。

关于java - 在 SQL 中用 "unlimited"子级表示多层次菜单的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56199082/

26 4 0