2011-05-27 74 views

回答

23
update mytable set count=last_insert_id(counter+1) where key='mykey' 

然後

select last_insert_id() 

last_insert_id()可以傳遞一個參數「設置」它(並返回值),並調用它不帶任何參數將再次返回值。 last_insert_id()使用的內部狀態是每個連接,這意味着在另一個連接上發出的相同的update聲明不會影響第一個連接。

參考:last_insert_id()

+1

哦,永遠不知道, – zerkms 2011-05-27 14:32:55

+1

此表將非常頻繁使用+1,如果另一個更新之前選擇時所發生的? last_insert_id的值不會是錯誤的嗎? – 2011-05-27 14:35:23

+2

回答者說:'last_insert_id()'是每個連接。那麼,其他連接也不會影響你。如果**你**做任何插入/替換,那麼是的,這將是錯誤的。 – Johan 2011-05-27 14:39:24