无限级分销系统数据库表设计

 这次分享的内容很简单,就是一张表的设计思路。

一、背景

在做交易所的时候有个需求,需要统计邀请注册人数,比如 A邀请B, B邀请C, C邀请D。那么A的邀请人数就是3个,B的邀请人数就是2个,C的邀请人数就是1个。除此之外,还要能统计出A直接邀请人数,A下一级邀请人数,A下二级邀请的人数,以此类推。

二、实现

首先是用户注册信息表UserInfo需要增加一个ParentId字段。

然后,新建一张层级关系表TeamLevel,表结构如下:

CREATE TABLE `teamlevel` (
  `Id` bigint(20) NOT NULL,
  `UserId` varchar(50) DEFAULT NULL COMMENT '用户Id',
  `ParentId` varchar(50) DEFAULT NULL COMMENT '推荐人Id',
  `Level` int(10) DEFAULT NULL COMMENT '层级',
  PRIMARY KEY (`Id`)
)

1.在注册的时候需要往这张表插入数据,比如D推荐E来注册,就需要往库里插入如下记录:

2.有了这些记录之后,查询统计就方便多了,用户的层级关系也一目了然。

原文地址:https://www.cnblogs.com/w3liu/p/10068398.html