我是靠谱客的博主 美满大船,最近开发中收集的这篇文章主要介绍MySQL的一级分类_mysql 无限级分类,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

无限级分类的话题很多人在考虑,之前我也考虑过,最近朋友要用就重新整理了一下写成博文,分享给大家。

基本思路是使用一个“分类链”的字段,把父级分类的id用逗号隔开,然后使用find_in_set函数判断是否是某个分类的子分类。

表结构:

CREATE TABLE IF NOT EXISTS `link` (

`id` int(11) NOT NULL auto_increment,

`name` varchar(10) NOT NULL,

`pid` int(11) NOT NULL,

`link` text NOT NULL,

`level` int(11) NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;添加数据

INSERT INTO `link` (`id`, `name`, `pid`, `link`, `level`) VALUES

(1, 'name1', 0, '1', 1),

(2, 'name2', 0, '2', 1),

(3, 'name3', 1, '1,3', 2),

(4, 'name4', 2, '2,4', 2),

(5, 'name5', 3, '1,3,5', 3),

(6, 'name6', 4, '2,4,6', 3),

(7, 'name7', 3, '1,3,7', 3),

(8, 'name8', 4, '2,4,8', 3);测试

select * from link where id = 1

select * from link where pid = 1 //下一级

select * from link where find_in_set(1, link) //所有下级 包含自己

select * from link where find_in_set(1, link) and level >1 //所有下级 不包含自己

select * from link where find_in_set(1, link) and id <> 1

select * from goods where cid in (select id from link where find_in_set(3, link)) //商品表关联

最后

以上就是美满大船为你收集整理的MySQL的一级分类_mysql 无限级分类的全部内容,希望文章能够帮你解决MySQL的一级分类_mysql 无限级分类所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(29)

评论列表共有 0 条评论

立即
投稿
返回
顶部