0

在我执行了一个 SELECT 查询后,我用它来显示页面上的所有结果,我希望用 +1 更新所有的 shot.views int 列,这意味着每次它显示这些结果时,它也会更新它的 shot.views。

你们认为我应该如何以最好的方式和一个小例子来做到这一点?当然我想限制查询的数量。我现在有点不知所措。提前致谢!

$query = mysql_query("
SELECT 
shots.id,
shots.large, 
shots.title,
shots.datetime 

FROM notifications

INNER JOIN shots

ON notifications.target = shots.id

WHERE notifications.uid = (SELECT id FROM users WHERE username ='$username') AND (notifications.type = 'picture' OR notifications.type = 'video' OR notifications.type = 'reshot')

ORDER BY datetime DESC

") or die(mysql_error());
4

2 回答 2

1

由于UPDATE并没有真正返回任何东西,我认为你坚持使用两个查询。不过,这是一个崇高的目标!

于 2012-09-18T22:18:46.173 回答
0
SELECT value FROM counters WHERE id = 1 FOR UPDATE;
UPDATE counters SET value = value + 1 WHERE id = 1;

这就是你要找的:)

于 2012-09-18T22:21:08.977 回答