sql >> データベース >  >> RDS >> Mysql

フォーラムは未読のトピックをどのように表示しますか?

    最も単純な 方法は、誰かが最後にログインした時間を追跡することです。彼らが再び訪問したとき、それ以降に更新されたものはすべて明らかに「新しい」ものです。

    ただし、ログアウトするとすべてのアイテムが既読として効果的にマークされるため、これにはいくつかの問題があります。

    私が考えることができる他の唯一の方法は、すべてのスレッドと、各ユーザーが見たそのスレッドの最新の投稿を含むテーブルを維持することです。

    user_id   thread_id   post_id
          1           5        15
          1           6        19
    

    その情報を使用して、スレッド#5に15より大きいIDを持つ投稿がある場合、そこに未読の投稿があることがわかります。このテーブルは、そのページの最新の投稿のpost_idでのみ更新してください。 。つまり、新しい投稿が3ページあり、ユーザーが最初の投稿のみを表示した場合でも、未読の投稿があることがわかります。



    1. Spring、Hibernate、Blobの遅延読み込み

    2. 引用符に一貫性のないCSVファイルのSQLServer一括挿入

    3. テーブルで使用されていないすべての日付を返すSQLクエリ

    4. SQLServerのワード関数に数値を書き込む方法