我有mysql表帖子
Posts
PostId (int)
PostTitle (varchar)
PostContent (text)
PostHits (int)
PostStatus (varchar)
我在select查询中读到这些记录,比如
SELECT * FROM posts WHERE PostStatus LIKE 'ALIVE';
如果所有记录都符合where子句的条件,是否有可能在每个select上都增加其值
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'