Tutoriel de conception de table MySQL : Créer une table de réponse à un commentaire simple
La fonctionnalité de commentaire est une exigence très courante lors du développement d'applications Web. Afin d'implémenter la fonction de commentaire, nous devons concevoir une structure de table adaptée au stockage des commentaires et de leurs réponses. Ce didacticiel vous montrera comment créer un simple formulaire de réponse aux commentaires.
Analyse des exigences :
Notre tableau de réponse aux commentaires doit stocker les informations suivantes :
Selon aux exigences ci-dessus, nous pouvons créer un fichier nommé Table des commentaires
. 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_id
和reply_user_id
与comments
表和users
表的关联。使用示例:
现在我们已经创建了一个名为 comments
comments_db
en utilisant l'instruction SQL suivante : INSERT INTO comments (comment_text, user_id) VALUES ('这是一条新评论', 1);
comments
en utilisant l'instruction SQL suivante : INSERT INTO comments (comment_text, user_id, reply_id, reply_text, reply_user_id) VALUES ('这是一条回复', 2, 1, '这是回复的内容', 1);
comment_id
est l'ID du commentaire et est défini comme une clé primaire à augmentation automatique. comment_text
est le contenu du commentaire et la longueur est fixée à 255 caractères. comment_time
L'heure à laquelle le commentaire est stocké, la valeur par défaut est l'heure actuelle. user_id
est l'ID utilisateur du commentaire et ne peut pas être vide.
reply_id
est l'ID de réponse. S'il s'agit d'une réponse, c'est l'ID de commentaire de la réponse ; sinon, il est NULL. 🎜🎜reply_text
est le contenu de la réponse. Si c'est une réponse, c'est le contenu de la réponse sinon, c'est NULL. 🎜🎜reply_time
stocke l'heure de réponse. S'il s'agit d'une réponse, c'est l'heure de réponse sinon, c'est NULL. 🎜🎜reply_user_id
est l'ID utilisateur de la réponse. S'il s'agit d'une réponse, c'est l'ID utilisateur de la réponse ; sinon, il est NULL. 🎜🎜Les contraintes FOREIGN KEY
sont utilisées pour créer des tables reply_id
et reply_user_id
et comments
et des utilisateurs</ code >Association de tables. 🎜</ul>🎜Exemple d'utilisation : 🎜Maintenant que nous avons créé un tableau appelé <code>comments
, nous pouvons commencer à l'utiliser. Voici quelques exemples de code pour montrer comment faire fonctionner ce tableau : 🎜🎜🎜Insérer un nouveau commentaire : 🎜🎜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;
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!