Ако се замислите, автоматично нарастващото число не трябва да бъде транзакционен. Ако други транзакции трябваше да изчакат, за да видят дали автоматичното номериране ще бъде използвано или „отменено“, те ще бъдат блокирани от съществуващата транзакция, използваща автоматичното номериране. Например, разгледайте моя псевдо код по-долу с таблица A, използвайки поле за автоматично номериране за колоната ID:
User 1
------------
begin transaction
insert into A ...
insert into B ...
update C ...
insert into D ...
commit
User 2
-----------
begin transaction
insert into A ...
insert into B ...
commit
Ако транзакцията на потребител 2 започне милисекунда след тази на потребител 1, тогава тяхното вмъкване в таблица A ще трябва да изчака цялата транзакция на потребител 1 да завърши, само за да се види дали е използвано автоматичното число от първото вмъкване в A.
Това е функция, а не грешка. Бих препоръчал да използвате друга схема за генериране на автоматични номера, ако имате нужда те да бъдат строго последователни.