2013-07-06 82 views
0

我有一個叫做order的表,它的一列名'id'被設置爲自動增量,自動增量id從6999跳到了9090000,差距爲9090000-6999,只是想知道它是怎麼發生的?Mysql自動增量值問題

+1

你有時會插入之前的元素和再次刪除他們不截斷整個表? – luk2302

+2

這可能是有用的http://stackoverflow.com/questions/10042042/mysql-auto-increment-id-suddenly-jumped-to-maxint-what-c​​ould-be-a-reason –

+0

不,我還沒有這樣做過事情,因爲它是我的活分貝..! –

回答

1

如果一個ID在插入時被指定爲9090000,則相應地調整自動增量值。這樣做是爲了防止稍後ID可能最終擊中較大數字時發生碰撞。

如果稍後刪除較大的ID,則會自動增加更改。


它可以明確地進行如下設置:

alter table mytable auto_increment = 9090000 
+0

不,我還沒有直接指定任何東西 –

+0

也許是別人有,或者你的應用程序無意中做了一個錯誤。另請參閱編輯以回答如何明確設置它。 – Bohemian

+0

這可能是由於程序中的錯誤最有可能發生的,例如,我的數據庫中有一個日誌表,用於日誌記錄和調試。突然間,當我創建一個新訂單時,應該有一個約5的id,它的ID爲7965,這是因爲我使用了'PDO :: lastInsertId()'獲取訂單的最新插入ID,但是被更改爲日誌的內容。 –