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

thiết lập danh sách bạn bè trong mysql

Nếu mối quan hệ bạn bè của bạn là đối xứng, bạn có thể lưu trữ từng cặp trong một bản ghi riêng:

friend1 friend2
A       B
B       A
A       C
B       D
C       B
D       B

và truy vấn tất cả B của những người bạn như thế:

SELECT  friend2
FROM    friends
WHERE   friend1 = 'B'

hoặc lưu trữ người dùng với id ít nhất trong trường đầu tiên và trường có id lớn nhất trong cái thứ hai:

friend1  friend2
A        B
A        C
B        D

và truy vấn B của những người bạn như thế:

SELECT  friend1
FROM    friends
WHERE   friend2 = 'B'
UNION ALL
SELECT  friend2
FROM    friends
WHERE   friend1 = 'B'

Tùy chọn đầu tiên hiệu quả hơn một chút trong MySQL và đây là lựa chọn duy nhất nếu mối quan hệ bạn bè của bạn không đối xứng (như trên LiveJournal )

Xem bài viết này:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. B-Tree vs Bash Table

  2. CodeIgniter - Tải lên hình ảnh thông qua biểu mẫu, lưu trữ vị trí của hình ảnh trong cơ sở dữ liệu

  3. MySQL chèn từ một vùng văn bản đến nhiều hàng

  4. OpenSSL - tra cứu độ sâu lỗi 18 ở 0:chứng chỉ tự ký

  5. InterfaceError (0, '')