Hvis du tænker over det, bør den automatiske stigning ikke være transaktionsmæssig. Hvis andre transaktioner skulle vente for at se, om autonummeret skulle bruges eller "rulles tilbage", ville de blive blokeret af den eksisterende transaktion med autonummeret. Overvej f.eks. min psuedo-kode nedenfor med tabel A ved at bruge et autonummerfelt til ID-kolonnen:
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
Hvis bruger 2's transaktion starter et millisekund efter bruger 1's, så skal deres indsættelse i tabel A vente på, at bruger 1's hele transaktion er fuldført bare for at se, om autonummeret fra den første indsættelse i A blev brugt.
Dette er en funktion, ikke en fejl. Jeg vil anbefale at bruge et andet skema til at generere automatiske numre, hvis du har brug for dem til at være tæt sekventielle.