Nie, mechanizmy autoinkrementacji muszą pracuj poza zakresem transakcji, ponieważ inny użytkownik może wstawiać do tej samej tabeli przed zakończeniem transakcji. Transakcja innego użytkownika musi być w stanie przydzielić następną wartość, zanim dowie się, czy transakcja wykorzystuje właśnie przydzieloną wartość.
Relacja z komentarza:Jeśli mogę powiedzieć to jaśniej, każda zmiana zakresu transakcji może zostać cofnięta. Licznik automatycznego przyrostu nie jest cofany, więc nie jest zgodny z atomowością transakcji. Nie jest też posłuszny izolacji ponieważ inna transakcja otrzymuje następną wartość, mimo że transakcja nie została jeszcze zatwierdzona.
Sposób, w jaki działa auto-inkrementacja, oznacza, że czasami, jeśli wstawisz kilka wierszy, a następnie cofniesz transakcję, wartości przydzielone przez auto-inkrementację zostaną utracone na zawsze!
Ale to jest w porządku. Wartości klucza podstawowego muszą być unikatowe, ale nie muszą być kolejne. Innymi słowy, nie są to numery wierszy i nie powinieneś ich w ten sposób używać. Dlatego nigdy nie powinieneś potrzebować dekrementacji wartości utworzonych przez automatyczną inkrementację.