sql >> Databasteknik >  >> RDS >> Mysql

Använda en array i en SQL-fråga

Här är en allmän layout för dig, gör tre tabeller som du nämnde, jag har beskrivit nedan bara som ett exempel

[TABELL]

  • användare
  • följare
  • inlägg

I användartabellen bör du ha minst kolumner som användar-id (automatiskt inkrementerat värde / primärnyckel).

Följaretabellen bör ha något liknande userid som skulle matcha användartabellens användar-id, en followid-kolumn som också skulle ha id # för följare från användartabellen.

Sedan för din inläggstabell skulle du också vilja ha ett användar-id så när varje inlägg görs skulle det ha ID från användartabellen.

Då skulle du behöva göra något i stil med:

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

Nu beror det verkligen på hur du får användar-id för att ta reda på detta. Om du skickar användar-id med en session efter att de loggat in som liknar något som Facebook, kan du ändra användar-id =### till något som användar-id =".$_SESSION['användarid']." Men återigen, det beror verkligen på hur du skickar användar-id:t men ovanstående borde åtminstone få dig igång något.

Se till att sätta index på användar-id, followid-kolumner så att när tabellen blir större kommer den att göra kopplingarna snabbt.



  1. Hur man sparar subattribut i 3:e tabellen i laravel

  2. SELECT DISTINCT ignorerar olika fall

  3. Hitta rankningen av ett heltal i mysql

  4. konvertera oracle blob till xml-typ