Facebook のように、複数のユーザーによる複数のコメントを保存する際に問題があります (多くのユーザーが 1 つのステータスの更新や写真などにコメントする場合)。
2 に答える
2
Facebook のコメントのようなものを実現するには、複数のテーブルが必要になります。
簡略化されたバージョンには、次のタイプのスキーマがあります。
+-------------+
| User |
+-------------+
| user_id |
| name |
| email |
+-------------+
+-------------+
| Activities |
+-------------+
| activity_id |
| type |
| content |
| user_id |
| date |
+-------------+
+-------------+
| Comments |
+-------------+
| comment_id |
| activity_id |
| user_id |
| comment |
| likes |
| date |
+-------------+
次に、アクティビティのコメントを取得するには、クエリは次のようになります
SELECT * FROM Activity
NATURAL JOIN Comments
NATURAL JOIN Users
WHERE activity_id = ?
ORDER BY Comments.date
- レルフォー
于 2013-06-09T19:27:56.627 に答える
0
各コメントには独自の ID があります。これは、MySQL データベースの auto_increment フィールドである必要があります。したがって、データベースの「コメント」テーブルには、コメント ID、ユーザー ID、オブジェクト ID (写真、ステータスなど)、タイムスタンプなどのフィールドが必要です。
次に、独自の id フィールドを持つユーザーとオブジェクト用の個別のテーブルも作成します。そうすれば、コメントの user_id がユーザーの ID と一致することで、コメントをユーザーに一致させることができます。
于 2013-06-09T16:57:04.597 に答える