Cóż, spróbujmy zachować prostotę. Zasadniczo próbujesz znaleźć sposób na połączenie dwóch użytkowników.
Ponieważ staram się zachować prostotę i zdecydowanie nie sugeruję, że jest to najlepszy sposób na zrobienie tego, myślę, że najłatwiej sposobem na zrobienie tego jest utworzenie nowej tabeli (users_friends) z następującymi polami:(user_id) i (friend_id).
Cóż, powiedzmy, że mój identyfikator_użytkownika to 5.Twój identyfikator_użytkownika to 10.
Chcę dodać Cię jako mojego przyjaciela, dlatego dodałbym wpis do tej nowo utworzonej tabeli z następującymi wartościami:user_id =5, friend_id =10.
Powiedzmy, że chcesz wyświetlić wszystkich moich znajomych, możesz uruchomić zapytanie, takie jak:
SELECT * FROM `users` WHERE `user_id` IN ( SELECT `friend_id` FROM `users_friends` WHERE `user_id` = '5' );
Rzeczywiście, usunięcie znajomego jest łatwe, wystarczy usunąć wpis z nowo utworzonej tabeli ...
DELETE FROM `users_friends` WHERE `user_id` = '5' AND `friend_id` = '10';
I puf, nagle nie jesteś już moim przyjacielem;)
Więc tak, to są podstawy. Wypróbowałbym to rozwiązanie, zanim przejdę do rozwiązania, które zapewni większą elastyczność.