」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何在沒有子查詢的情況下在 MySQL 中更新行並取得更新的 ID?

如何在沒有子查詢的情況下在 MySQL 中更新行並取得更新的 ID?

發佈於2024-11-08
瀏覽:251

How to Update Rows and Get Updated IDs in MySQL Without a Subquery?

在 MySQL 中組合 SELECT 和 UPDATE 查詢

將 SELECT 和 UPDATE 查詢組合成單一操作對於優化資料庫效能非常有用。在這種情況下,使用者希望組合以下查詢:

SELECT * FROM table WHERE group_id = 1013 and time > 100;
UPDATE table SET time = 0 WHERE group_id = 1013 and time > 100

雖然子查詢方法可能無法提供所需的結果,但有一種解決方案無需子查詢即可實現目標。此解決方案涉及使用使用者定義的變數 (@uids) 來儲存更新的行 ID:

UPDATE footable
   SET foo = 'bar'
 WHERE fooid > 5
   AND ( SELECT @uids := CONCAT_WS(',', fooid, @uids) );
SELECT @uids;```
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3