반응형
온라인 게임에서 친구 목록을 만들고 싶습니다. 설정 방법이나 시작 위치를 잘 모르겠습니다. 친구 추가 및 친구 수락 부분은 처리 할 수 있지만 mysql 및 php에서 설정하는 방법을 모르겠습니다. 각 사용자 또는 무언가에 연결된 사용자 (친구) 목록?
해결 방법
우정 관계가 대칭 적이라면 각 쌍을 별도의 레코드에 저장할 수 있습니다.
friend1 friend2
A B
B A
A C
B D
C B
D B
다음과 같이 모든 B
의 친구를 쿼리합니다.
SELECT friend2
FROM friends
WHERE friend1 = 'B'
또는 첫 번째 필드에 id
가 가장 적은 사용자와 두 번째 필드에 가장 큰 id
가있는 사용자를 저장합니다.
friend1 friend2
A B
A C
B D
다음과 같이 B
의 친구를 쿼리합니다.
SELECT friend1
FROM friends
WHERE friend2 = 'B'
UNION ALL
SELECT friend2
FROM friends
WHERE friend1 = 'B'
첫 번째 옵션은 MySQL
에서 조금 더 효율적이며 우정 관계가 대칭 적이 지 않은 경우 (예 : LiveJournal
에서) 유일한 옵션입니다.
이 기사를보십시오 :
참조 페이지 https://stackoverflow.com/questions/4674005
반응형
'MySql' 카테고리의 다른 글
MySQL Levenshtein : MySQL + PHP (0) | 2020.10.24 |
---|---|
MySQL Workbench를 통해 기존 테이블에 새 열 추가 (0) | 2020.10.24 |
MySQL SELECT LAST_INSERT_ID () * 업데이트 됨 (0) | 2020.10.24 |
MySQL 데이터베이스 목록을 얻는 방법? (0) | 2020.10.24 |
MySQL Laravel에서 동적으로 데이터베이스 연결 변경 (0) | 2020.10.24 |
댓글