mysql - 使sql字段始终等于另一个表中的计数

标签 mysql

我应该怎么做才能使 mysql 中的字段始终等于另一个表中某些字段的Count,这样如果该表发生更改,该字段也会相应地发生变化?例如:

UPDATE table SET this=COUNT(*) ... WHERE ...

如果上面是 7 但我在表中插入了一行,我希望它自动更新为 8

最佳答案

你可以通过两种方式做到这一点(据我所知)。

  1. 您可以创建 view 其中包含包括计数在内的数据。
  2. 您可以创建 trigger 创建行、更新行和删除行时执行某些操作。这样你就必须做COUNT每次该值发生变化时。

viewtrigger 慢因为每次你想使用view view 后面的查询被执行。 view更容易实现并且需要更少的维护。取决于 field 有多少种方式您的计数要求可能会改变,它可能会变得更加复杂。

关于mysql - 使sql字段始终等于另一个表中的计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22618474/

相关文章:

php - 使用 PHP 运行 .sql 文件

php - mysql_query 的问题

PHP 多语言、$_SESSION 和语言切换器

mysql - 删除电子邮件不是已知电子邮件客户端的位置

java - 如何处理关系数据库中的继承

mysql - 什么会导致此 SQL 插入运行速度非常慢?

mysql - 我可以连接不同数据库中的两个表,并且只有一个匹配项与 MySQL 中表中重复的每一行的总和值相匹配吗?

MYSQL命令启动错误

java - MySql 批量插入

php - 从 mysql 文本数据类型列获取所有 <h2> 标记和 <p> 标记文本