|で区切られたテーブルフィールドにユーザーID値を格納しています。(user_id1 | user_id2 | user_id3 | user_id17)。
ユーザーIDは、特定の時点でこのフィールドに追加および削除されます。
現在のユーザーIDがフィールドに存在するかどうか、またはクエリを使用していないかどうかを確認するにはどうすればよいですか?そしてもちろん、それは完全に一致する必要があります。user_id1
を探して見つけることができませんuser_id17
。
SELECTクエリを使用し、フィールドを展開してから使用できることはわかってin_array
いますが、クエリを使用してそれを行う方法がある場合は、それが良いでしょう。
私がしていることを説明すると思います。私は小さなプライベートWebサイト(7ユーザー)用のフォーラムを作成しましたが、それをより大規模にコーディングしました。
私のテーブル構造はかなり良いです:forum_categories、forum_topics、forum_posts。削除および更新クエリにテーブル間で外部キーを使用する。
私が助けを求めているのは、各ユーザーのトピックを未読としてマークすることです。topic_idとuser_idを使用して新しいテーブルを作成できます。それぞれが新しい行になりますが、多くのユーザーとトピックでは適切ではありません。
誰かがより良い解決策を持っているなら、私はそれですべてです。または、user_idごとに1行が最善の方法であることを私に証明することができます。そうすれば、私はそれを喜んで行うでしょう。