MYSQL獲取更新行的主鍵ID(更新返回所在行)


1 SET @update_id := 0;
2 UPDATE some_table SET row = 'value', id = (SELECT @update_id := id)
3 WHERE some_other_row = 'blah' LIMIT 1; 
4 SELECT @update_id;

聲明一個用戶變量 @update_id ,之后在update數據時要多更新一個字段,就是將當前主鍵值更新為當前主鍵值(其實就是沒更新),更新主鍵字段並不是目的,只是為了將當前主鍵值賦值給@update_id,就是這句: ( SELECT @update_id := id )。 

更新了多條記錄也可以用下面的方式

SET @uids := null;
UPDATE footable
   SET foo = 'bar'
 WHERE fooid > 5
   AND ( SELECT @uids := CONCAT_WS(',', fooid, @uids) );
SELECT @uids;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM