Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Điều gì xảy ra trong SQL 2005 khi nó hết số lượng cho một cột tự động đánh số?

Bạn sẽ gặp lỗi tràn khi đạt đến giá trị lớn nhất . Nếu bạn sử dụng kiểu dữ liệu bigint với giá trị tối đa là 9,223,372,036,854,775,807 điều này rất có thể sẽ không bao giờ xảy ra.

Thông báo lỗi bạn sẽ nhận được, sẽ giống như sau:

Msg 220, Level 16, State 2, Line 10
Arithmetic overflow error for data type tinyint, value = 256.

(Nguồn)

Theo như tôi biết thì MS SQL không cung cấp chức năng lấp đầy khoảng trống danh tính, vì vậy bạn sẽ phải tự mình thực hiện việc này hoặc thay đổi kiểu dữ liệu của cột danh tính.

Ngoài ra, bạn có thể đặt giá trị bắt đầu thành số âm nhỏ nhất, để sử dụng phạm vi giá trị thậm chí còn lớn hơn.

Đây là một bài đăng blog hay về chủ đề này .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ngày / Dấu thời gian để ghi khi một bản ghi được thêm vào bảng?

  2. Định dạng ngày / giờ tùy chỉnh trong SQL Server

  3. SQL Server, không thể chèn null vào trường khóa chính?

  4. Sql Server - Tránh biên dịch trì hoãn

  5. Làm cách nào để cập nhật lược đồ cơ sở dữ liệu SQL Server của tôi?