CREATE TABLE relation (
id PRIMARY KEY AUTO_INCREMENT, //主键,自增
from_user_id big integer, // 用户 A 的 id to_user_id big integer,// 用户 B 的 Id rel_type enum(1,2) //关注数据 );
拉黑/粉丝/关注,在数据库里,存的都是一个映射关系的数字。比如,拉黑是 1,粉丝/关注是一个东西,是 2。那么,一条记录里的关键数据是:
-
from_user_id
// 本条记录是哪个用户发起 -
to_user_id
// 本条记录的接受方是哪个用户 -
rel_type
// 发起者对接受者,做了什么事情?存事情的类型
场景举例:
用户 A 关注用户 B
插入数据:
INSERT INTO relation (rel_type, from_user_id, to_user_id) VALUES(2, A.id, B.id)
用户 A 的粉丝数:
select COUNT(*) from relation
where rel_type=2 and to_user_id=A.id;