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

Използване на масив в SQL заявка

Ето общо оформление за вас, направете три таблици, както споменахте, очертал съм по-долу само като пример

[ТАБЛИЦИ]

  • потребители
  • последователи
  • публикации

В таблицата с потребители трябва да имате поне колони като userid (автоматично увеличаваща се стойност/първичен ключ).

Таблицата на последователите трябва да има нещо като userid, което ще съответства на userid на таблицата на потребителите, следваща колона, която също ще има идентификатор # за последователя от таблицата на потребителите.

След това за вашата таблица с публикации бихте искали също да имате потребителски идентификатор, така че когато всяка публикация е направена, тя да има идентификатора от таблицата с потребители.

Тогава ще трябва да направите нещо като:

SELECT p.*
FROM posts AS p
WHERE p.userid IN (SELECT followid FROM followers WHERE userid = ###)
ORDER BY p.date DESC

Сега наистина зависи от това как ще накарате потребителския идентификатор да разбере това. Ако предавате идентификатора на потребителите с помощта на сесия, след като са влезли, подобно на нещо като Facebook, тогава можете да промените userid =### на нещо като userid =".$_SESSION['userid']." Но отново наистина зависи от това как предавате потребителския идентификатор, но горното трябва поне да ви помогне да започнете.

Уверете се, че сте поставили индекси на потребителския идентификатор, последваните колони, така че когато таблицата стане по-голяма, тя ще направи обединенията бързо.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql - Сравнете стойности от низове за дата=n с дата=n-1

  2. Python MySQL конектор връща bytearray вместо обикновена стойност на низ

  3. Опит за поръчка на маса няколко пъти

  4. Вземете хронологията на разговорите в Skype от main.db, синхронизирана с MySQL с PHP

  5. mysql не е активиран в phpinfo() на php 5.3.1