Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

lược đồ cơ sở dữ liệu tình bạn

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è.



  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 sử dụng Sum và Case

  2. Ghi đè các bảng MySQL bằng AWS Glue

  3. Đệ quy bao gồm Sequelize?

  4. Đây có phải là cách an toàn để chuyển đổi bảng MySQL từ latin1 sang utf-8 không?

  5. Chạy hai truy vấn SQL trên một trang php (SET + CHỌN)