Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Beste Methode zum Speichern einer Liste von Benutzer-IDs

Es ist ineffizient. Was Sie hier in relationalen Begriffen haben, ist eine Viele-zu-Viele-Beziehung zwischen Benutzern und Spielen. Ein Benutzer kann über viele Spiele abstimmen. Über ein Spiel kann von vielen Usern abgestimmt werden. Die Lösung dafür ist eine Join-Tabelle:

USERS (uid, name, ...)
GAMES (gid, name, ...)
VOTES (id, uid, gid, ...)

Wobei uid und gid Fremdschlüssel zurück zu ihren jeweiligen Tabellen sind.

Wenn jemand abstimmt, fügen Sie einen Datensatz in VOTES ein.

So erhalten Sie eine Stimmenliste für ein Spiel:

$get = mysql_query("SELECT * FROM votes WHERE gid = $game_id");
...

So erhalten Sie eine Liste der Stimmen des Benutzers:

$get = mysql_query("SELECT * FROM votes WHERE uid = $user_id");
...

und so weiter.

Verbinden Sie kein Array und speichern Sie es in einer einzelnen Spalte. Sie haben Recht, das zu vermeiden.