Được đảm bảo hoàn toàn trong bất kỳ trường hợp nào bạn có thể nhận được giá trị có thể nhỏ hơn hoặc bằng giá trị tối đa hiện tại? Không, không có gì đảm bảo như vậy. Điều đó nói rằng, các trường hợp mà kịch bản đó có thể xảy ra bị hạn chế:
- Ai đó vô hiệu hóa tính năng chèn danh tính và chèn một giá trị.
- Ai đó gửi lại cột danh tính.
- Ai đó thay đổi dấu hiệu của giá trị gia tăng (tức là thay vì +1, nó được thay đổi thành -1)
Giả sử không có trường hợp nào trong số này, bạn sẽ an toàn trước các điều kiện đua tạo ra tình huống trong đó giá trị tiếp theo thấp hơn giá trị hiện có. Điều đó nói rằng, không có gì đảm bảo rằng các hàng sẽ được cam kết theo thứ tự của các giá trị nhận dạng của họ. Ví dụ:
- Mở một giao dịch, chèn vào bảng của bạn một cột nhận dạng. Giả sử nó nhận giá trị 42.
- Chèn và cam kết vào cùng một bảng một giá trị khác. Giả sử nó nhận giá trị 43.
Cho đến khi giao dịch đầu tiên được cam kết, 43 tồn tại nhưng 42 thì không. Cột nhận dạng chỉ đơn giản là đặt trước một giá trị, nó không chỉ định thứ tự của các cam kết.