1. 由于树结构中分为叶子节点和非叶子节点。如果在代码中处理是否有孩子,处理起来效率很低。最终发现一个比较好的解决方案:把判断是否有孩子工作放到查询语句中。如下
select *,
(select
count(child.id)
from
bug_srs child
where
child.f_id = par.id
) as childCount
from
bug_srs par
where
par.f_id=0
在查询节点信息的时候同步把孩子个数也查询出来,可以作为是否是叶子节点的判断。
2. 在数据迁移方面,目前情况是这个树结构信息已经存在在另外的一张表之中,二当前的表结构由不支持树型数据。如下图:
旧表结构:
要导入的数据表结构:
注: srs 对应 module的数据
由于旧数据也要保持,而导入的新数据id和旧数据的id将不一样,导致f_id无法正常匹配。
可以通过下面的方法来正常导入:
1. 在为旧表添加f_id 列的时候同步添加一个tempid列
2. 使用导入工具的时候,记得把id 匹配到tempid上
3. 数据导入后,在通过sql语句修订f_id
update bug_srs
set
bug_srs.f_id = (select srs2.id from bug_srs srs2 where bug_srs.f_id = srs2.tempid)
where bug_srs.f_id != 0 and bug_srs.f_id is not null
4. 验证下数据就ok了
- 大小: 4.5 KB
- 大小: 9.1 KB
- 大小: 10 KB
- 大小: 31.6 KB
分享到:
相关推荐
bootstrap树控件使用bootstrap-treeview.js树形控件在下拉框select中显示,带树形的下拉框
bootstrap树控件使用树形控件在下拉框select中显示,实现树形下拉框
用层和标准控件TreeView做的下拉框树,用来选择部门或者其他需要用到树形的控件
layui组件之树形下拉框例子,看完你就会写下拉树了。不过同时还需要下载ztree的相关js和style 不过压缩包里都有呢!希望对大家有所帮助
js,javascript写的一个下拉框和下拉树带滚动条
支持下拉菜单 下拉树 模糊搜索,支持中间字段的匹配
原生js text文本框模拟select下拉框美化点击下拉菜单选 原生js text文本框模拟select下拉框美化点击下拉菜单选 原生js text文本框模拟select下拉框美化点击下拉菜单选 原生js text文本框模拟select下拉框美化点击...
Android 9.0 10.0 SystemUI实现默认展开下拉列表,显示所有下拉快捷
目前的下拉框dropdownlist、select就是简单的选择,如果遇到内容过多会很难找出想找的选项,我用简单的js文件将现在的下拉框改成下拉模糊搜索框,支持汉字拼音首字母模糊匹配和字符串字串匹配,本代码的强大在于扩展...
在下拉框里面绑定树形显示 1、递归绑定 2、树形显示下拉框列表
自定义的WinForm窗体的下拉框中可以多选
完善的树形下拉框功能,根据自定义层级规则展开,可以直接嵌入项目,还附带两个漂亮的登录界面; 更多介绍:https://blog.csdn.net/weixin_43151418/article/details/124689160
下拉框树控件(下拉框和树结合)下拉框树控件(下拉框和树结合)下拉框树控件(下拉框和树结合)下拉框树控件(下拉框和树结合)下拉框树控件(下拉框和树结合)下拉框树控件(下拉框和树结合)(下拉框和树结合)
下拉菜单的实现,解决方案,下载后运行就可以,有源代码
下拉框实现树结构带禁用.vue
最简单树形下拉菜单,可以自己添加样式,鼠标滑过展示 滑出自动收起。非常简单,无jquery