1.1. 前言
前面我们大概介绍了一下树结构表的基本使用。在我们项目中有好几块有用到多层级的概念。下面我们哪大家都比较熟悉的区域表来做演示。
1.2. 表结构和数据
区域表基本结构,可能在你的项目中还有包含其他字段。这边我只展示我们关心的字段:
CREATE TABLE `area` (
`area_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '地区ID',
`name` varchar(40) NOT NULL DEFAULT 'unkonw' COMMENT '地区名称',
`area_code` varchar(10) NOT NULL DEFAULT 'unkonw' COMMENT '地区编码',
`pid` int(11) DEFAULT NULL COMMENT '父id',
`left_num` mediumint(8) unsigned NOT NULL COMMENT '节点左值',
`right_num` mediumint(8) unsigned NOT NULL COMMENT '节点右值',
PRIMARY KEY (`area_id`),
KEY `idx$area$pid` (`pid`),
KEY `idx$area$left_num` (`left_num`),
KEY `idx$area$right_num` (`right_num`)
)
区域表数据: area
导入到test表
mysql -uroot -proot test < area.sql
1.1. 区域表的基本操作
查看 '广州' 的相关信息
SELECT * FROM area WHERE name LIKE '%广州%';
+---------+-----------+-----------+------+----------+-----------+
| area_id | name | area_code | pid | left_num | right_num |