-5

Facebook のように、複数のユーザーによる複数のコメントを保存する際に問題があります (多くのユーザーが 1 つのステータスの更新や写真などにコメントする場合)。

4

2 に答える 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 に答える