Mysql
 sql >> Database >  >> RDS >> Mysql

Il metodo migliore per memorizzare un elenco di ID utente

È inefficiente. Quello che hai qui in termini relazionali è una relazione molti-a-molti tra utenti e giochi. Un utente può votare su molti giochi. Un gioco può essere votato da molti utenti. La soluzione per questo è avere una tabella di join:

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

Dove uid e gid sono chiavi esterne alle rispettive tabelle.

Se qualcuno vota, inserisci un record in VOTES.

Per ottenere un elenco di voti per un gioco:

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

Per ottenere un elenco dei voti dell'utente:

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

e così via.

Non unire un array e archiviarlo in una singola colonna. Hai ragione a evitarlo.