PHP MySQL注释

PHP MySQL注释,php,mysql,Php,Mysql,我有MySQL表,用户可以在网站上发布一些内容,如下所示: CREATE TABLE `Posts` ( `id` int(6) UNSIGNED NOT NULL, `name` varchar(30) NOT NULL, `post` varchar(8000) NOT NULL, `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ) 现在我想创建一个表,供用户评论帖子。我不知道该怎么做,缺乏知识。 我可以像这样创建新表

我有MySQL表,用户可以在网站上发布一些内容,如下所示:

CREATE TABLE `Posts` (
  `id` int(6) UNSIGNED NOT NULL,
  `name` varchar(30) NOT NULL,
  `post` varchar(8000) NOT NULL,
  `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
)
现在我想创建一个表,供用户评论帖子。我不知道该怎么做,缺乏知识。 我可以像这样创建新表吗

CREATE TABLE `Comments` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `name` varchar(30) NOT NULL,
  `comment` varchar(800) NOT NULL,
  `postId` varchar(8) NOT NULL,
)
当用户发表评论时,我可以通过连接post表中的“id”和“comment”表中的“posted”来显示该评论

这是正确的方法,还是有更好的方法在post表上发表评论

CREATE TABLE `Users` (
  `user_id` int(6) UNSIGNED NOT NULL,
  `name` varchar(30) NOT NULL,
  `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
)

CREATE TABLE `Comments` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `name` varchar(30) NOT NULL,
  `comment` varchar(800) NOT NULL,
  `postId` varchar(8) NOT NULL,
  `user_id_fk` int(6) NOT NULL
)
因此,当用户发布注释时,您可以将用户id与所做的注释一起保存在注释表中

要检索,请尝试以下操作:

$query = 'SELECT Users.user_id, 
                 Users.name,
                 Comments.comment FROM User JOIN Comments ON Users.user_id= Comments.user_id_fk
                         ';
因此,当用户发布注释时,您可以将用户id与所做的注释一起保存在注释表中

要检索,请尝试以下操作:

$query = 'SELECT Users.user_id, 
                 Users.name,
                 Comments.comment FROM User JOIN Comments ON Users.user_id= Comments.user_id_fk
                         ';

基本上,您可以像这样使用外键链接

Posts (
      id int(6) UNSIGNED NOT NULL,
      name varchar(30) NOT NULL,
      post varchar(8000) NOT NULL,
      date timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
    );
如果需要,可以为用户定义外键(这是一个很好的实践)

现在,您可以像这样搜索帖子的所有评论:

SELECT * FROM Comments where postId = 3;

基本上,您可以像这样使用外键链接

Posts (
      id int(6) UNSIGNED NOT NULL,
      name varchar(30) NOT NULL,
      post varchar(8000) NOT NULL,
      date timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
    );
如果需要,可以为用户定义外键(这是一个很好的实践)

现在,您可以像这样搜索帖子的所有评论:

SELECT * FROM Comments where postId = 3;

基本上,您可以使用外键链接它们。当用户发表评论时,将用户id作为外键保存在评论表中,然后检索用户的评论,在查询中加入两个表阅读本文,其中解释了外键的基本原理:基本上,您可以使用外键链接它们。用户发表评论时,将用户id保存为评论表中的外键,然后要检索用户发表的评论,请在查询中加入两个表。阅读本文,其中解释了外键的基本知识: