MySQL更新列+1?

标签 mysql sql sql-update aggregate-functions

我想知道通过 +1 更新列的最简单方法是什么?我将根据用户提交新帖子的时间更新类别的帖子计数。

谢谢。

最佳答案

最简单的方法是存储计数,依靠 COUNT 聚合函数来反射(reflect)数据库中的值:

   SELECT c.category_name,
          COUNT(p.post_id) AS num_posts
     FROM CATEGORY c
LEFT JOIN POSTS p ON p.category_id = c.category_id

您可以create a view容纳上述查询,因此您可以像查询表一样查询 View ...

但如果您打算存储号码,请使用:

UPDATE CATEGORY
   SET count = count + 1
 WHERE category_id = ?

..替换“?”具有适当的值。

关于MySQL更新列+1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3866524/

相关文章:

mysql - 为每个新用户更新数据库表中的行 WebMatrix

php - Pdo 未定义索引和无效参数号

sql - 使用另一个表中的数据更新一个表

mysql - 更新 WHERE Field IN

MySQL 基本命令

mysql - 使用 DBI 在 R 中进行日期循环查询

c++ - Luarocks luasql-mysql 编译错误

python - 使用 '%s' 参数化的 SQL 查询是什么样的?

sql - 每小时汇总一段时间内的值

sql - 在 PostgreSQL 中运行 N 个独立列更新的最佳方法是什么? SQL 规范中最好的方法是什么?