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'
我有 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'