无限级分类数据的设计

要实现栏目的无限极分类,我们需要对应的数据库表结构,一般情况下,如果结构比较常用[code]
id int   自增主键 
cat_name varchar(256)   分类类别名称 
parent_id int 0 父母分类Id 
depth  smallint 1 深度,从1递增 
id_path  varchar(256) 表示从根节点到当前节点的路径的ID分割组合字符串
name_path   varchar(256) 表示从根节点到当前节点的路径的NAME分割组合字符串
status int 0  状态:0禁用,1启用 
list_order  int 0  优先级,栏目排序,同级显示的时候越靠前


在对树进行操作时,我们还是如平常一样对表执行CRUD操作,要维护这两个字段并不需要费多少力气,然而在查询时却会为我们带来极大的便利。例如要查询第3层的节点,则只需要使用"WHERE Depth = 3";又例如要查询A1节点下B3节点下C2节点下的所有子节点,则可以使用"WHERE Path LIKE 'A1/B3/C2%'";也可以用Find in set 替代like

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值