sql >> Database >  >> RDS >> Mysql

Beste methode om een ​​lijst met gebruikers-ID's op te slaan

Het is inefficiënt. Wat je hier in relationele termen hebt, is een veel-op-veel-relatie tussen gebruikers en games. Een gebruiker kan op veel games stemmen. Een spel kan door veel gebruikers worden gestemd. De oplossing hiervoor is om een ​​join-tabel te hebben:

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

Waar uid en gid refererende sleutels zijn, terug naar hun respectievelijke tabellen.

Als iemand stemt, voeg dan een record in STEMMEN in.

Om een ​​lijst met stemmen voor een spel te krijgen:

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

Om een ​​lijst van de stemmen van de gebruiker te krijgen:

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

enzovoort.

Voeg geen array toe en sla deze op in een enkele kolom. Je hebt gelijk om dat te vermijden.



  1. Waarom is de zoekopdracht niet bijgewerkt nadat u op de update-knop hebt geklikt?

  2. Oracle-tekst die ontsnapt met accolades en jokertekens

  3. Complexe Postgres-query

  4. Hoe de waarde van het samengestelde variabele veld in te stellen met behulp van dynamische SQL