mysql lastid_是否有任何替代mySQL的「last_update_ID()」?

我相信LAST_INSERT_ID()對於當前會話是正確的。所以每個會話都會收到它自己的正確值。要麼我不明白你的問題,要麼你認爲你有問題,但你不知道。

,我不知道有任何LAST_UPDATE_ID()函數,在更新,你可以很容易地用相同的WHERE子句選擇它們(更新前)檢索更新行?

對於LAST_INSERT_ID(),最 最近生成的ID被保持在 服務器上的每個連接的基礎。 它不會被另一個客戶端更改。 它,如果你更新 與 值魔法的另一個AUTO_INCREMENT列也不變化(即值 不爲NULL,而不是0)。同時使用 LAST_INSERT_ID()和AUTO_INCREMENT 列來自多個 客戶端是完全有效的。每個 客戶端將收到最後插入 ID爲最後一條語句是 客戶端執行。

如果你想從一個對重複KEY UPDATE子句的INSERT查詢檢索LAST_INSERT_ID,您還可以使用LAST_INSERT_ID()函數來檢索已更新的AUTO_INCREMENT列的值:

如果表中包含一個AUTO_INCREMENT 柱和INSERT ... UPDATE插入 排,LAST_INSERT_I D()函數 返回AUTO_INCREMENT值。如果 該語句改爲更新一行,則 LAST_INSERT_ID()無意義。 但是,您可以使用LAST_INSERT_ID(expr)通過 解決此問題。假設 這個id是AUTO_INCREMENT列。 爲了使LAST_INSERT_ID()更新有意義 ,如下插入行:

INSERT INTO table (a,b,c) VALUES (1,2,3)

ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id), c=3;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值