我正在创建一个显示文章的网站。文章表格包含以下字段:
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。
答案 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;