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

Bedste metode til at gemme en liste over bruger-id'er

Det er ineffektivt. Hvad du har her i relationelle termer, er et mange-til-mange forhold mellem brugere og spil. En bruger kan stemme på mange spil. Et spil kan stemmes på af mange brugere. Løsningen til dette er at have en jointabel:

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

Hvor uid og gid er fremmednøgler tilbage til deres respektive tabeller.

Hvis nogen stemmer, indsæt en post i STEMMER.

Sådan får du en liste over stemmer til et spil:

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

For at få en liste over brugerens stemmer:

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

og så videre.

Slut dig ikke til et array og gem det i en enkelt kolonne. Det har du ret i at undgå.



  1. XAMPP - MySQL lukning uventet

  2. Hvordan forbinder man Android Studio med SQL Server-databasen?

  3. Hvad er forskellen mellem LATERAL JOIN og en underforespørgsel i PostgreSQL?

  4. UTF - 8 med JPA og Glassfish 4.0