> 데이터 베이스 > MySQL 튜토리얼 > MySQL 테이블 디자인 튜토리얼: 간단한 주석 응답 테이블 생성

MySQL 테이블 디자인 튜토리얼: 간단한 주석 응답 테이블 생성

王林
풀어 주다: 2023-07-01 20:27:10
원래의
2379명이 탐색했습니다.

MySQL 테이블 디자인 튜토리얼: 간단한 댓글 응답 테이블 만들기

댓글 기능은 웹 애플리케이션을 개발할 때 매우 일반적인 요구 사항입니다. 댓글 기능을 구현하기 위해서는 댓글과 그에 대한 답변을 저장하기에 적합한 테이블 구조를 설계해야 합니다. 이 튜토리얼에서는 간단한 댓글 응답 양식을 만드는 방법을 보여줍니다.

요구 사항 분석:
댓글 응답 테이블에는 다음 정보가 저장되어야 합니다.

  1. 댓글 ID
  2. 댓글 내용
  3. 댓글 시간
  4. 댓글 사용자 ID
  5. 답글 ID(답글인 경우, 그렇지 않으면 비어 있음)
  6. 답글 내용(답글이면 비어 있음)
  7. 응답 시간(답글이면 비어 있음)
  8. 답글 사용자 ID(답글이면 비어 있음)

에 따르면 위의 요구 사항에 따라 Table of comments라는 파일을 만들 수 있습니다. 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

테이블 디자인:
    먼저 테이블을 저장할 데이터베이스를 만들어야 합니다. 다음 SQL 문을 사용하여 comments_db라는 데이터베이스를 생성할 수 있습니다:
  1. INSERT INTO comments (comment_text, user_id) VALUES ('这是一条新评论', 1);
    
    로그인 후 복사
  2. 다음으로, 다음 SQL 문을 사용하여 comments라는 테이블을 생성할 수 있습니다:
INSERT INTO comments (comment_text, user_id, reply_id, reply_text, reply_user_id) 
VALUES ('这是一条回复', 2, 1, '这是回复的内容', 1);
로그인 후 복사
    Parse table design:
    • comment_id는 댓글 ID이며 자동 증가 기본 키로 설정됩니다.
    comment_text는 댓글 내용이며, 길이는 255자로 설정되어 있습니다.
  1. comment_time 댓글이 저장되는 시간이며, 기본값은 현재 시간입니다.

user_id는 댓글의 사용자 ID이며 비워둘 수 없습니다.

reply_id는 답글 ID이고, 그렇지 않으면 NULL입니다. 🎜🎜reply_text는 답글의 내용이고, 그렇지 않으면 NULL입니다. 🎜🎜reply_time은 응답 시간을 저장하며, 그렇지 않으면 NULL입니다. 🎜🎜reply_user_id는 답글의 사용자 ID입니다. 그렇지 않으면 NULL입니다. 🎜🎜FOREIGN KEY 제약 조건은 reply_id, reply_user_id, comments 테이블과 users</를 생성하는 데 사용됩니다. 코드> 테이블 연결. 🎜</ul>🎜사용 예: 🎜이제 <code>comments라는 테이블을 만들었으므로 사용을 시작할 수 있습니다. 다음은 이 테이블을 작동하는 방법을 보여주는 몇 가지 코드 예제입니다. 🎜🎜🎜새 댓글 삽입: 🎜🎜
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;
로그인 후 복사
🎜🎜댓글에 답글 달기: 🎜🎜rrreee🎜🎜모든 댓글과 답글 쿼리: 🎜🎜rrreee🎜요약: 🎜 이 튜토리얼에서는 간단한 댓글 응답 양식을 만드는 방법을 배웠습니다. 적절한 테이블 구조를 설계하고 적절한 SQL 문을 사용함으로써 댓글과 그에 대한 답변 데이터를 쉽게 저장하고 관리할 수 있습니다. 이 튜토리얼이 도움이 되기를 바랍니다! 🎜

위 내용은 MySQL 테이블 디자인 튜토리얼: 간단한 주석 응답 테이블 생성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿