[英]SQL SELECT then UPDATE in one query
我必须从MySQL数据库中随机选择一行,然后在该行(同一表)上增加一个计数器。 此刻,我正在跑步
SELECT id, img, title, alt, ... FROM table WHERE ... ORDER BY RAND() LIMIT 1
然后分别
UPDATE table SET counter = counter + 1 WHERE id = $id
从而运行两个查询。 有一种方法可以在一个查询中完成所有这些操作吗? 谢谢!
如果您只需要增加该值而不需要返回一行来处理,则可以执行以下操作:
UPDATE fred
INNER JOIN
(
SELECT id
FROM fred
ORDER BY RAND()
LIMIT 1
) sub0
ON fred.id = sub0.id
SET fred.counter = fred.counter + 1
或更简单:-
UPDATE fred
SET fred.counter = fred.counter + 1
ORDER BY RAND()
LIMIT 1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.