Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在两个表之间添加“计数器”_Php_Mysql_Database Design - Fatal编程技术网

Php 如何在两个表之间添加“计数器”

Php 如何在两个表之间添加“计数器”,php,mysql,database-design,Php,Mysql,Database Design,假设我有一个名为blog posts的表,其中包含关于blog posts的信息 还有一个名为categories的表,它只包含博客文章的categories_名称 在这个表中,我添加了一个名为cat_num的行,该行应该包含具有相同类别名称的博客文章的数量。所以它基本上是一种计数器: 所以我的问题是如何在这两个表之间添加这种类型的关系。你能给我一些建议吗…基本上,你应该通过这样做来获得一个类别中的博客帖子数量 从博客文章中选择COUNT*,其中博客类别=[id] 其中[id]是类别表中的id

假设我有一个名为blog posts的表,其中包含关于blog posts的信息

还有一个名为categories的表,它只包含博客文章的categories_名称

在这个表中,我添加了一个名为cat_num的行,该行应该包含具有相同类别名称的博客文章的数量。所以它基本上是一种计数器:


所以我的问题是如何在这两个表之间添加这种类型的关系。你能给我一些建议吗…

基本上,你应该通过这样做来获得一个类别中的博客帖子数量

从博客文章中选择COUNT*,其中博客类别=[id]

其中[id]是类别表中的id

这是一种一对多的关系:一个类别可以有许多博客文章

在categories表中存储blog_posts的数量没有任何意义,因为您可以从blog_posts表中轻松计算这些数据

但是,如果您想让blog_posts条目具有多个类别,我认为应该使用第三个表,如下所示:

在blog_posts中,你会有id、img、author、title、body之类的内容,在分类中你会有id、name,然后你可以使用一个像categories_blog_posts这样的表,id、blog_post_id、categorie_id

然后,您可以通过执行以下操作来检索特定类别的博客文章数:

从categories\u blog\u帖子中选择COUNT*,其中categorie\u id=[categories.id]


这将是一种多对多关系:一个类别可以有多个博客帖子,一个博客帖子可以有多个类别

看这个问题似乎更多的是关于表的关系而不是查询,一条解释为什么这个答案被否决的评论会有助于改进它,甚至不回答其他问题同样的错误。。。