树形部门表设计咨询

有个部门表我是设计成了树形结构,有个pid是上级部门id,我想实现的是部门表和用户表关联,左侧是部门树、右边是部门下面的用户列表,我需要点击左侧部门的时候,右边展示当前部门及子部门下面的全部人员,不知道SQL需要怎么读取某个部门下面的全部子孙部门,不知道这种设计是否合理?
目前考虑的是部门表有个部门编码的字典,全表唯一,同时有个部门路径的字段,存储从根部门到父部门的路径,比如/01/02/03/。但是也考虑到一个问题,就是编辑部门的时候,如果修改部门编码,那下面的全部子部门也得同时修改部门路径字段?该如何修改?

阅读 3.5k
2 个回答

首先部门数据的设计我觉得你就记一个id和pid就行,/01/02/03/这样的路径拼接不是后端该干的事,后端只需要将所有部门数据全部给到前台,树形结构让前台自己去拼,后台只记父子级关系就行,这样的话部门信息的修改完全和树形结构脱离,事实上我们有和你这个完全一样的需求
image
.......

那就数据库递归查询,mysql的话比较麻烦,Oracle有现成函数的。

搜索关键字 mysql 递归 教程量大保优。

修改的话,可以用写个存储过程批量操作

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题