Mysql
 sql >> база данни >  >> RDS >> Mysql

схема на база данни за приятелство

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;

Можете да направите изглед с тази последна заявка, тя ще ви помогне да правите заявки за приятели на потребители или дори приятели на приятели.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Какво представлява MySQL заявката, еквивалентна на PHP strip_tags?

  2. Най-добра практика за съхранение на потребителски имена и пароли в MySQL бази данни

  3. Използване на Python и MySQL в ETL процеса

  4. Възможно ли е да се създаде колона с UNIX_TIMESTAMP по подразбиране в MySQL?

  5. показване на данни от база данни в html таблица