首頁 > 資料庫 > mysql教程 > 您能否將 MySQL UPDATE 和 SELECT 操作合併到一個請求中以「擁有」一行並擷取其參數?

您能否將 MySQL UPDATE 和 SELECT 操作合併到一個請求中以「擁有」一行並擷取其參數?

Susan Sarandon
發布: 2024-11-03 05:10:31
原創
944 人瀏覽過

Can you combine MySQL UPDATE and SELECT operations into one request to

在一個請求中進行MySQL UPDATE 和SELECT

許多工作應用程式透過存取MySQL 資料庫中的任務表來循環執行任務My的本機C API。要擁有任務,應用程式:

  1. 產生全域唯一 ID。
  2. 執行 UPDATE 查詢以將 guid 欄位設為 guid 為 0 的行的產生 ID .
  3. 執行 SELECT 查詢以根據 guid 檢索任務的參數。

有沒有辦法將這些步驟有效地合併到對伺服器的單一呼叫中「擁有」一行並在單一操作中取得其參數?

答案:

是的,可以使用帶有子查詢的UPDATE 查詢來實現此目的:

UPDATE tasks
SET guid = (
    SELECT id
    FROM tasks
    ORDER BY id DESC
    LIMIT 1
)
WHERE guid = 0
RETURNING guid, params;
登入後複製

此查詢使用任務表中的最高id 作為新guid 來更新guid 0 行的guid 欄位。它還在一行中傳回更新的 guid 和任務參數。

以上是您能否將 MySQL UPDATE 和 SELECT 操作合併到一個請求中以「擁有」一行並擷取其參數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板