sql >> Databáze >  >> RDS >> Sqlserver

Co se stane v SQL 2005, když mu dojde číslo pro sloupec automatického číslování?

Po dosažení maximální hodnoty se zobrazí chyba přetečení . Pokud používáte datový typ bigint s maximální hodnotou 9,223,372,036,854,775,807 s největší pravděpodobností tomu tak nikdy nebude.

Chybová zpráva, kterou dostanete, bude vypadat takto:

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

(zdroj)

Pokud vím, MS SQL neposkytuje žádnou funkci, která by zaplnila mezery v identitě, takže to buď budete muset udělat sami, nebo změnit datový typ sloupce identity.

Kromě toho můžete nastavit počáteční hodnotu na nejmenší záporné číslo, abyste získali ještě větší rozsah hodnot.

Zde je dobrý blogový příspěvek na toto téma .



  1. Zakažte spouštěče a znovu je povolte, ale mezitím se vyhněte změnám v tabulce

  2. Vývoj odolnosti vůči chybám v PostgreSQL:Synchronní závazek

  3. 5 bezproblémových tipů pro použití příkazu SQL UPDATE s JOIN

  4. Postgresql:Dotaz 10x pomalejší v jiném klientovi