[英]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.