ホームページ > データベース > mysql チュートリアル > MySQL テーブル設計チュートリアル: 簡単なコメント返信テーブルを作成する

MySQL テーブル設計チュートリアル: 簡単なコメント返信テーブルを作成する

王林
リリース: 2023-07-01 20:27:10
オリジナル
2378 人が閲覧しました

MySQL テーブル設計チュートリアル: 簡単なコメント返信テーブルの作成

コメント機能は、Web アプリケーションを開発する際の非常に一般的な要件です。コメント機能を実装するには、コメントとその返信を格納するのに適したテーブル構造を設計する必要があります。このチュートリアルでは、簡単なコメント返信フォームを作成する方法を説明します。

要件分析:
コメント返信テーブルには次の情報を保存する必要があります:

  1. コメント ID
  2. コメントの内容
  3. コメント時間
  4. コメントユーザーID
  5. 返信ID (返信する場合、それ以外の場合は空)
  6. 返信内容(返信する場合、それ以外の場合は空)
  7. 返信時間(返信する場合)
  8. 返信ユーザーID (返信の場合、それ以外の場合は空)

上記の要件に従って、ファイルを作成できます。名前は comments テーブルです。

テーブル設計:
まず、テーブルを保存するデータベースを作成する必要があります。次の SQL ステートメントを使用して、comments_db という名前のデータベースを作成できます。

CREATE DATABASE comments_db;
ログイン後にコピー

次に、次の SQL ステートメントを使用して、comments テーブルという名前のデータベースを作成できます。

USE comments_db;

CREATE TABLE comments (
    comment_id INT AUTO_INCREMENT PRIMARY KEY,
    comment_text VARCHAR(255) NOT NULL,
    comment_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    user_id INT NOT NULL,
    reply_id INT,
    reply_text VARCHAR(255),
    reply_time TIMESTAMP,
    reply_user_id INT,
    FOREIGN KEY (reply_id) REFERENCES comments (comment_id),
    FOREIGN KEY (reply_user_id) REFERENCES users (user_id)
);
ログイン後にコピー

分析テーブルの設計:

  • comment_id はコメント ID であり、自動的に増加する主キーとして設定されます。
  • comment_text はコメントの内容で、長さは 255 文字に設定されます。
  • comment_time コメントが保存される時刻。デフォルトは現在時刻です。
  • user_id はコメントのユーザー ID であり、空にすることはできません。
  • reply_id は返信 ID です。返信の場合は返信のコメント ID、それ以外の場合は NULL です。
  • reply_text は返信の内容です。返信の場合は返信の内容、それ以外の場合は NULL です。
  • reply_time 返信時刻を格納します。返信の場合は返信時刻、それ以外の場合は NULL です。
  • reply_user_id は、返信のユーザー ID です。返信の場合は、返信のユーザー ID です。それ以外の場合は、NULL です。
  • FOREIGN KEY 制約は、reply_idreply_user_idcomments テーブルと users## を作成するために使用されます。 # テーブルの関連付け。
使用例:


comments という名前のテーブルを作成したので、それを使用し始めることができます。このテーブルの操作方法を示すコード例をいくつか示します。

    新しいコメントを挿入:
  1. INSERT INTO comments (comment_text, user_id) VALUES ('这是一条新评论', 1);
    
    ログイン後にコピー
    コメントに返信:
  1. INSERT INTO comments (comment_text, user_id, reply_id, reply_text, reply_user_id) 
    VALUES ('这是一条回复', 2, 1, '这是回复的内容', 1);
    
    ログイン後にコピー
    すべてのコメントとその返信をクエリする:
  1. SELECT c.comment_id, c.comment_text, c.comment_time, u1.username AS comment_username,
           r.reply_id, r.reply_text, r.reply_time, u2.username AS reply_username
    FROM comments AS c
    LEFT JOIN comments AS r ON c.comment_id = r.reply_id
    LEFT JOIN users AS u1 ON c.user_id = u1.user_id
    LEFT JOIN users AS u2 ON r.reply_user_id = u2.user_id;
    ログイン後にコピー
    概要:

    このチュートリアルでは、簡単なコメント返信フォームを作成する方法を学びました。適切なテーブル構造を設計し、適切な SQL ステートメントを使用することで、コメントとその返信のデータを簡単に保存および管理できます。このチュートリアルがお役に立てば幸いです!

    以上がMySQL テーブル設計チュートリアル: 簡単なコメント返信テーブルを作成するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート