亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何獲取MySQL中最后更新的行的ID?

如何獲取MySQL中最后更新的行的ID?

江戶川亂折騰 2019-06-28 17:10:59
如何獲取MySQL中最后更新的行的ID?如何使用PHP獲取MySQL中最后更新行的ID?
查看完整描述

3 回答

?
梵蒂岡之花

TA貢獻1900條經驗 獲得超5個贊

我找到了這個問題的答案:)

SET @update_id := 0;UPDATE some_table SET column_name = 'value', id = (SELECT @update_id := id)WHERE some_other_column = 'blah' LIMIT 1; SELECT @update_id;

編輯由Aefxx

可以進一步擴展此技術以檢索受UPDATE語句影響的每一行的ID:

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

這將返回帶有由逗號連接的所有ID的字符串。


查看完整回答
反對 回復 2019-06-28
?
茅侃侃

TA貢獻1842條經驗 獲得超22個贊

嗯,我感到驚訝的是,在這些答案中,我沒有看到最簡單的解決辦法。

假設,item_id中的整數標識列。items表并使用以下語句更新行:

UPDATE items
SET qwe = 'qwe'WHERE asd = 'asd';

然后,要知道語句之后的最新受影響行,您應該將該語句稍微更新為以下內容:

UPDATE items
SET qwe = 'qwe',
    item_id=LAST_INSERT_ID(item_id)WHERE asd = 'asd';SELECT LAST_INSERT_ID();

如果只需要更新真正已更改的行,則需要通過最后一個_INSERT_ID檢查來添加Item_id的條件更新,如果數據將在該行中更改的話。


查看完整回答
反對 回復 2019-06-28
  • 3 回答
  • 0 關注
  • 2012 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號