您的位置:首页 > 其它

无限级分类数据的设计

2013-08-23 14:25 260 查看
要实现栏目的无限极分类,我们需要对应的数据库表结构,一般情况下,如果结构比较常用[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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: