Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Co się stanie w SQL 2005, gdy zabraknie numeru kolumny autonumerowania?

Po osiągnięciu maksymalnej wartości pojawi się błąd przepełnienia . Jeśli używasz typu danych bigint z maksymalną wartością 9,223,372,036,854,775,807 najprawdopodobniej nigdy tak się nie stanie.

Otrzymany komunikat o błędzie będzie wyglądał tak:

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

(Źródło)

O ile wiem, MS SQL nie zapewnia żadnych funkcji wypełniających luki w tożsamości, więc będziesz musiał zrobić to sam lub zmienić typ danych w kolumnie tożsamości.

Oprócz tego możesz ustawić wartość początkową na najmniejszą liczbę ujemną, aby uzyskać jeszcze większy zakres wartości do użycia.

Oto dobry wpis na blogu na ten temat .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jaki jest najszybszy sposób zbiorczego wstawiania dużej ilości danych w programie SQL Server (klient C#)

  2. Uzgadnianie SSPI nie powiodło się z kodem błędu 0x8009030c podczas nawiązywania połączenia ze zintegrowanymi zabezpieczeniami

  3. Jak uzyskać listę wszystkich ograniczeń sprawdzających w bazie danych SQL Server — samouczek SQL Server / TSQL część 85?

  4. SQL Server Query - mnożenie grupowe

  5. Jak wykonać zagnieżdżoną zamianę wartości z innej tabeli?