Mysql
 sql >> база данни >  >> RDS >> Mysql

Най-добрият метод за съхранение на списък с потребителски идентификатори

То е неефективно. Това, което имате тук в релационен план, е връзка много към много между потребители и игри. Потребител може да гласува за много игри. Една игра може да бъде гласувана от много потребители. Решението за това е да имате таблица за присъединяване:

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

Където uid и gid са външни ключове обратно към съответните им таблици.

Ако някой гласува, вмъкнете запис в ГЛАСУВАНЕ.

За да получите списък с гласове за игра:

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

За да получите списък с гласовете на потребителя:

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

и така нататък.

Не се присъединявайте към масив и го съхранявайте в една колона. Прав си да избягваш това.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 3 начина за намиране на редове, които съдържат главни букви в MySQL

  2. MySQL съответства на 2 от 5 полета

  3. Правилно ли дезинфекцирам/избягам?

  4. Показване само на подкатегории на wordpress

  5. Незаконен микс от съпоставяне (utf8_general_ci,IMPLICIT) и (utf8_unicode_ci,IMPLICIT) за операция '=' в MySQL Stored Procedure