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

SQL Server và khoảng trống trong cột Identity

Đó là hành vi SQL Server được xác định và ghi lại, và bạn thực sự không thể làm gì nhiều để thay đổi nó. Bạn muốn thay đổi điều gì ở nó ??

Các cột IDENTITY sẽ đảm bảo ID duy nhất, không ngừng tăng lên (miễn là bạn không gây rối với chúng) - chúng không đảm bảo bất kỳ điều gì khác.

SQL Server sẽ không vượt qua khó khăn khi phát hiện ra "khoảng trống" trong trình tự của bạn và lấp đầy chúng. Dù sao thì tôi cũng không nghĩ đó là một ý kiến ​​hay - điều gì sẽ xảy ra nếu bạn có một bản ghi với ID =3 và sau đó xóa nó? Bạn có thực sự muốn một bản ghi tiếp theo đột nhiên "tái chế" ID đó không ?? Theo tôi, không phải là một ý kiến ​​hay.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để chỉ chọn mục nhập mới nhất trong bảng?

  2. Duy trì mối quan hệ cha-con khi sao chép dữ liệu phân cấp

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

  4. Chọn các hàng có giá trị cột đã thay đổi

  5. Kiểm tra xem một đối tượng là một bảng, dạng xem hoặc thủ tục được lưu trữ trong SQL Server bằng cách sử dụng hàm OBJECTPROPERTY ()