Гарантирано, тъй като при абсолютно никакви обстоятелства не бихте могли да получите стойност, която може да е по-малка или равна на текущата максимална стойност? Не, няма такава гаранция. Въпреки това обстоятелствата, при които този сценарий може да се случи, са ограничени:
- Някой деактивира вмъкването на самоличност и вмъква стойност.
- Някой поставя повторно колоната за самоличност.
- Някой промени знака на нарастващата стойност (т.е. вместо +1 се променя на -1)
Ако не приемем нито едно от тези обстоятелства, вие сте в безопасност от условия на състезание, създаващи ситуация, при която следващата стойност е по-ниска от съществуваща стойност. Въпреки това няма гаранция, че редовете ще бъдат заети в реда на стойностите на тяхната идентичност. Например:
- Отворете транзакция, вмъкнете в таблицата си с колона за самоличност. Да кажем, че получава стойност 42.
- Вмъкване и записване в същата таблица на друга стойност. Да кажем, че получава стойност 43.
Докато първата транзакция не бъде ангажирана, 43 съществува, но 42 не. Колоната за самоличност просто резервира стойност, тя не диктува реда на ангажиментите.