这两天,遇到了子节点的需求.这里简单作个总结.sql
1.数据库中的树形结构
数据库中存贮的数据,以ID和P_ID(父id),来存贮树形结构数据库
这样若是须要查找某个节点的子节点,就能够寻找P_ID.若是要查找全部子节点,就须要遍历全部的子节点的子节点.函数
若是要判断是否为同级的节点,就能够查找是否有相同的父节点.spa
2.MySQL中如何查找相应的数据
这里,我采用的是写一个存贮函数.在查询时能够直接使用.固然,为了之后查询方便,也可在一个视图使用..net
3.准备工做
数据库表,为了方便,只有三个字段,可以说明状况便可.3d
CREATE TABLE `city` (
`i_id` int(11) NOT NULL AUTO_INCREMENT ,
`p_id` int(11) NULL DEFAULT NULL ,
`c_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
PRIMARY KEY (`i_id`)
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci
AUTO_INCREMENT=11
ROW_FORMAT=COMPACT;
随便插入几条数据code