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)
);
Когато потребител 1 изпрати молба за приятелство до потребител 2, направете
insert into friendship (user, friend) values (1,2);
Ако потребител 2 откаже заявката,
delete from friendship where user = 1 and friend = 2;
ако потребител 2 го приеме:
insert into friendship (user, friend) values (2,1);
Тогава приятелството може да се намери по следния начин:
select f1.*
from friendship f1
inner join friendship f2 on f1.user = f2.friend and f1.friend = f2.user;
Можете да направите изглед с тази последна заявка, тя ще ви помогне да правите заявки за приятели на потребители или дори приятели на приятели.