选择了选择更新记录的Mysql

时间:2015-01-27 01:42:57

标签: php mysql sql codeigniter

我有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)进行更新。我正在寻找单一查询解决方案。

1 个答案:

答案 0 :(得分:2)

这是你需要的吗?

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'