Mysql select 更新记录 selected

Mysql on select update records selected

我有 mysql table 个帖子

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

我在 select 查询中阅读了这些记录,例如

SELECT * FROM posts WHERE PostStatus LIKE 'ALIVE';

如果所有记录符合 where 子句,是否有可能在每个 select 上递增其 PostHits 的值?如果是,最好的方法是什么,目前我正在使用两个查询 select 然后根据 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'