sql >> Databasteknik >  >> RDS >> Mysql

Hur visar forum dig olästa ämnen?

Det enklaste sättet är att spåra när någon senast var inloggad. När de kommer tillbaka på besök är allt som har uppdaterats sedan dess uppenbarligen "nytt".

Detta har dock vissa problem, eftersom utloggning effektivt markerar alla objekt som lästa.

Det enda andra sättet jag skulle kunna tänka mig att göra det skulle vara att upprätthålla en tabell som innehåller alla trådar och det senaste inlägget i den tråden som varje användare har sett.

user_id   thread_id   post_id
      1           5        15
      1           6        19

Med den informationen, om det finns ett inlägg i tråd #5 som har ett ID som är större än 15, så vet du att det finns olästa inlägg där. Uppdatera endast den här tabellen med post_id för det senaste inlägget på den sidan . Det betyder att om det finns tre sidor med nya inlägg, och användaren bara ser det första, kommer den fortfarande att veta att det finns olästa inlägg.



  1. Varför postgres inte använder indexet i min fråga

  2. Vanlig användare med SYSBACKUP-behörighet

  3. Hur kan jag sortera en kolumn "Versionsnummer" allmänt med hjälp av en SQL Server-fråga

  4. Kolumnantal matchar inte värderäkning på rad 1