首页 数据库 mysql教程 在mysql中建立树形结构_MySQL

在mysql中建立树形结构_MySQL

Jun 01, 2016 pm 01:41 PM
mysql

bitsCN.com 在mysql中建立树形结构 这个不是什么新东西了,网上有很多方法,我也尝试了其中好的方法,都不尽人意,这是我最后我推荐的方法,共享一下,大家一起讨论,当然难如高手法眼,呵呵。我就直接贴代码了,有问题就联系我。 mysql中要有树形结构我认为表中应该有如写字段: 举例菜单表menu:   [sql]  create table menu  (     id                   int not null auto_increment,     pid                  int,     name                 varchar(100) not null,     nlevel               int,     scort                varchar(8000),     primary key (id)  )  type = InnoDB;    alter table menu add constraint FK_Reference_67 foreign key (pid)        references menu (id) on delete restrict on update restrict   创建存储过程genNode_menu: [sql]  BEGIN   DECLARE Level int ;   Set Level=0 ;   update menu a inner join (SELECT id,Level,concat(',',ID,',') scort FROM menu WHERE pid is null) b on a.id=b.id       set a.nlevel=b.level,a.scort=b.scort;   WHILE FOUND_ROWS()>0 DO    SET Level=Level+1;  update menu a inner join (     SELECT ID,Level,scort FROM menu       WHERE nLevel=Level-1) b on a.pid=b.id   set a.nlevel=b.level,a.scort=concat(b.sCort,a.ID,',');   END WHILE;  END  插入数据:[sql]  INSERT INTO menu VALUES ('1', null, '菜单1', null, null);  INSERT INTO menu VALUES ('2', '1', '菜单1-1', null, null);  INSERT INTO menu VALUES ('3', null, '菜单2', null, null);  INSERT INTO menu VALUES ('4', '3', '菜单2-1', null, null);  INSERT INTO menu VALUES ('5', '4', '菜单2-1-1', null, null);     执行存储过程:[sql]  call genNode_menu;  我们看一看menu表现在是什么情况了:
在mysql中建立树形结构_MySQL 很好,就是这个效果 现在可以按你的需求随便查询了: 比如: [sql]  select * from menu a where a.scort not like '%,1,%' order by a.scort     作者 lifaming15 bitsCN.com

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门文章

仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章

仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章标签

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

PHP 的大数据结构处理技巧 PHP 的大数据结构处理技巧 May 08, 2024 am 10:24 AM

PHP 的大数据结构处理技巧

如何优化 PHP 中的 MySQL 查询性能? 如何优化 PHP 中的 MySQL 查询性能? Jun 03, 2024 pm 08:11 PM

如何优化 PHP 中的 MySQL 查询性能?

如何在 PHP 中使用 MySQL 备份和还原? 如何在 PHP 中使用 MySQL 备份和还原? Jun 03, 2024 pm 12:19 PM

如何在 PHP 中使用 MySQL 备份和还原?

如何使用 PHP 插入数据到 MySQL 表中? 如何使用 PHP 插入数据到 MySQL 表中? Jun 02, 2024 pm 02:26 PM

如何使用 PHP 插入数据到 MySQL 表中?

Java 枚举类型在数据库中的应用场景有哪些? Java 枚举类型在数据库中的应用场景有哪些? May 05, 2024 am 09:06 AM

Java 枚举类型在数据库中的应用场景有哪些?

如何修复 MySQL 8.4 上的 mysql_native_password 未加载错误 如何修复 MySQL 8.4 上的 mysql_native_password 未加载错误 Dec 09, 2024 am 11:42 AM

如何修复 MySQL 8.4 上的 mysql_native_password 未加载错误

如何在 PHP 中使用 MySQL 存储过程? 如何在 PHP 中使用 MySQL 存储过程? Jun 02, 2024 pm 02:13 PM

如何在 PHP 中使用 MySQL 存储过程?

PHP数组分页的性能优化策略 PHP数组分页的性能优化策略 May 02, 2024 am 09:27 AM

PHP数组分页的性能优化策略

See all articles