Mysql 上选择所选的更新记录


Mysql on select update records selected

我有mysql表帖子

Posts
  PostId (int)
  PostTitle (varchar)
  PostContent (text)
  PostHits (int)
  PostStatus (varchar)

我在选择查询时阅读了这些记录,例如

SELECT * FROM posts WHERE PostStatus LIKE 'ALIVE';

如果所有记录都符合 WHERE 子句,是否有可能在每次选择时增加其 PostHits 值? 如果是,最好的方法是什么,目前我正在使用两个查询选择,然后根据where id in(all selected posts ids)进行更新。我正在寻找单一查询解决方案。

这是你需要的吗?

UPDATE posts
SET PostHits = PostHits + 1
WHERE PostStatus LIKE 'ALIVE'

仅使用SELECT

SELECT
    PostId,
    PostTitle,
    PostContent,
    PostHits + 1 AS PostHits,
    PostStatus
FROM posts
WHERE PostStatus LIKE 'ALIVE'