Mysql - 使用列存储计数

标签 mysql count

我可能漏掉了一些关于 MySQL 的东西。

我正在尝试找到一种在列中存储“计数”的方法。 它必须动态更新,无需任何手动更新。

我不想在成员创建或删除内容时将计数加 1 或从中减 1。 contentcount 中的字段必须自动成为该成员拥有的每个内容的计数。

create table content
(
   id_content           int not null auto_increment,
   id_member            int not null,
   primary key (id_content)
);

create table member
(
   id_member            int not null auto_increment,
   contentcount         ???????????????,
   primary key (id_member)
);

alter table content add constraint fk_member_content foreign key (id_member)
      references member (id_member) on delete cascade on update cascade;

我怎样才能做到这一点? 感谢您的帮助。

最佳答案

您无需将计数作为字段存储在表中即可访问它;您可以随时使用

访问它
SELECT COUNT(field_name) FROM table_name;

请注意,如果 field_name 包含一些 NULL 值,这些值不会影响计数,因此最好使用从不包含空值的列(例如主键或其他索引字段)

关于Mysql - 使用列存储计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1327437/

相关文章:

MYSQL查询-抓取所有符合条件的记录3次或以上

mySQL 传递闭包表

javascript - 使用jquery ajax处理mysql函数并显示(每个都有时间间隔)

mysql - 更改MySQL中的数字格式(欧洲格式)

php - 转换为 PDO 类型 mysql_fetch_array

mysql - AppEngine 和 Cloud SQL 连接错误

swift - 如何获取符合 `Sequence` 的类型的计数?

MySQL:MAX(COUNT(*)) -- 错误 1111

mysql - 选择具有最高计数的不同字符串列表的查询

java - 使用数组