sql >> Databáze >  >> RDS >> Mysql

Nejlepší metoda pro uložení seznamu ID uživatelů

Je to neefektivní. To, co zde máte z relačního hlediska, je vztah mnoho k mnoha mezi uživateli a hrami. Uživatel může hlasovat pro mnoho her. O hře může hlasovat mnoho uživatelů. Řešením je mít tabulku spojení:

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

Kde uid a gid jsou cizí klíče zpět do příslušných tabulek.

Pokud někdo hlasuje, vložte záznam do HLASŮ.

Chcete-li získat seznam hlasů pro hru:

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

Chcete-li získat seznam hlasů uživatele:

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

a tak dále.

Nespojujte pole a neukládejte je do jednoho sloupce. Máte právo se tomu vyhnout.



  1. Top 5 časově náročných SQL dotazů v Oracle

  2. Rozdíly v řetězcích PHP a dynamická omezení

  3. Jak vytvořit pohled v oracle

  4. fetch_assoc vrátí naposledy vložené prvky