Mysql

當存在約束衝突時,為什麼 MySQL 會增加 auto_increment 值?

  • September 27, 2014

我在 MySQL 數據庫中有一個表id,其中有一列,其中包含auto_increment主鍵。此表中還有一個 Unique 約束,位於不同的列上。

我注意到,當我嘗試添加違反約束的記錄時,該auto_increment值仍會增加。這對我來說似乎很奇怪,因為它只是意味著價值越來越高,而這並不是必需的。

我不是在尋求解決這個問題的方法,但我只是好奇為什麼會這樣。這在某些情況下有用嗎?

我正在使用 Mysql 5.5.38-0ubuntu0.14.04.1。

因為值是在事務範圍之外遞增的。這是您希望它工作的方式,以便單獨的事務可以愉快地插入行或回滾,而無需相互等待。

如果您關心差距或想要不同的行為,請停止使用內置並推出自己的…

引用自:https://dba.stackexchange.com/questions/77826