create table
friendship(
user bigint,
friend bigint,
primary key(user, friend),
key(friend, user),
constraint `fk_user` foreign key (user) references user(id),
constraint `fk_friend` foreign key (friend) references user(id)
);
Khi người dùng 1 gửi yêu cầu kết bạn đến người dùng 2, hãy thực hiện
insert into friendship (user, friend) values (1,2);
Nếu người dùng 2 từ chối yêu cầu,
delete from friendship where user = 1 and friend = 2;
nếu người dùng 2 chấp nhận nó:
insert into friendship (user, friend) values (2,1);
Sau đó, một tình bạn có thể được tìm thấy theo cách này:
select f1.*
from friendship f1
inner join friendship f2 on f1.user = f2.friend and f1.friend = f2.user;
Bạn có thể thực hiện một chế độ xem với truy vấn cuối cùng này, nó sẽ giúp bạn truy vấn bạn bè của người dùng hoặc thậm chí bạn bè của bạn bè.