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

Brug af et array i en SQL-forespørgsel

Her er et generelt layout til dig, lav tre tabeller som du nævnte, jeg har skitseret nedenfor kun som et eksempel

[TABELLER]

  • brugere
  • følgere
  • indlæg

I brugertabellen skal du mindst have kolonner som bruger-id (automatisk øget værdi / primær nøgle).

Følgertabellen skulle have noget i retning af bruger-id, som ville matche bruger-tabellens bruger-id, en followid-kolonne, som også ville have id # for følgeren fra brugertabellen.

Så til din indlægstabel vil du også gerne have et bruger-id, så når hvert indlæg er lavet, vil det have id'et fra brugertabellen.

Så skal du gøre noget som:

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

Nu afhænger det virkelig af, hvordan du får bruger-id'et til at finde ud af dette. Hvis du videregiver bruger-id'et ved hjælp af en session, efter at de er logget ind, der ligner noget som Facebook, kan du ændre bruger-id =### til noget som bruger-id =".$_SESSION['brugerid']." Men igen afhænger det virkelig af, hvordan du videregiver bruger-id'et, men ovenstående burde i det mindste få dig lidt i gang.

Sørg for at sætte indekser på bruger-id'et, followid-kolonner, så når tabellen bliver større, udfører den sammenføjningerne hurtigt.



  1. PHP og MySQL:Sammenligning af måned og dag med dynamisk år

  2. Hvad er forskellen i PL/SQL API mellem Oracle Express Edition (XE) og Standard Edition (SE)?

  3. Postgres fungerer meget langsommere, når der bruges inputvariabler

  4. Docker MySQL - kan ikke oprette forbindelse fra Spring Boot-appen til MySQL-databasen