在 MySQL 中,執行多個查詢可能非常耗時。為了優化效能,最好將查詢合併為一個查詢。這是 Quan 提出的查詢的關鍵:可以合併兩個查詢以傳回更新的行嗎?
第一個查詢根據特定條件從表中選擇行,而第二個查詢則更新滿足相同條件的行。組合這些查詢需要一種允許在單一操作中進行讀取和寫入的技術。
一種方法是使用子查詢。然而,Quan 遇到了這種方法的限制。 https://gist.github.com/PieterScheffers/189cad9510d304118c33135965e9cddb 的建議中出現了替代解決方案:
SET @uids := null; UPDATE footable SET foo = 'bar' WHERE fooid > 5 AND ( SELECT @uids := CONCAT_WS(',', fooid, @uids) ); SELECT @uids;
此查詢中出現了替代解決方案:
以上是如何在單一MySQL查詢中實現行更新和檢索?的詳細內容。更多資訊請關注PHP中文網其他相關文章!