2013-02-15 49 views
0

使用PHPMySQL,我想獲取MySQL中未來ID的編號,後面的編號就像nextincrement一樣。我怎樣才能做到這一點?Next id,future Id,

+0

你永遠不會得到下一個ID。永遠。只需從那裏取出並編寫應用程序,而不必考慮下一個ID。 – 2013-02-15 15:00:00

+0

你可以使用'SHOW TABLE STATUS WHERE name ='my_table'',但是這給了你**不能保證**下一個自動增量值就是你得到的值。 – cmbuckley 2013-02-15 15:01:43

回答

1

這是不是真的能夠可靠地做。你可以做select max(id)+1,但如果你有回滾事務和/或並行進程在運行,那將會失敗。

最好的方法是:

  1. 開始事務。
  2. 插入骨架記錄,並做了select last_insert_id(),以獲取其ID
  3. 使用該ID的任何兒童/並行記錄更新
  4. 填充與別的骨架記錄你需要
  5. 提交事務。

如果任何階段失敗,請回滾該事務,並丟棄該ID,因爲它是無效的,並且不會再次使用。