选择具有更新的语句

时间:2013-01-24 17:03:18

标签: mysql sql

我正在创建一个显示文章的网站。文章表格包含以下字段:

article_id
title
text
views

ATM我正在选择文章并输出它但我想在同一查询中增加视图即“views = views + 1”。

查询看起来像这样

SELECT article_id, title, text, views
SET views=views+1
WHERE article_id=:article_id

我想在输出中获得增加的视图结果,所以我猜我需要在SELECT之前放置SET。

1 个答案:

答案 0 :(得分:1)

它必须是两个单独的查询。

SELECT 
    article_id, 
    title, 
    text, 
    views
FROM TABLE
WHERE article_id = article_id;

UPDATE TABLE
SET views = views + 1
WHERE article_id = article_id;

您可以将它们包装在事务中以强制发生或回滚。

START TRANSACTION;

SELECT 
    article_id, 
    title, 
    text, 
    views
FROM TABLE
WHERE article_id = article_id;

UPDATE TABLE
SET views = views + 1
WHERE article_id = article_id;

COMMIT;