这两天,遇到了子节点的需求.这里简单做个总结.
1.数据库中的树形结构
数据库中存贮的数据,以ID和P_ID(父id),来存贮树形结构
这样如果需要查找某个节点的子节点,就可以寻找P_ID.如果要查找所有子节点,就需要遍历所有的子节点的子节点.
如果要判断是否为同级的节点,就可以查找是否有相同的父节点.
2.MySQL中如何查找相应的数据
这里,我采用的是写一个存贮函数.在查询时可以直接使用.当然,为了以后查询方便,也可在一个视图使用.
3.准备工作
数据库表,为了方便,只有三个字段,能够说明情况即可.
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=