sql >> Databasteknik >  >> RDS >> Sqlserver

Vad händer i SQL 2005 när det tar slut på antal för en autonumreringskolumn?

Du kommer att få ett spillfel när det maximala värdet uppnås . Om du använder datatypen bigint med ett maximalt värde på 9,223,372,036,854,775,807 detta kommer med största sannolikhet aldrig att bli fallet.

Felmeddelandet du får kommer att se ut så här:

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

(Källa)

Så vitt jag vet tillhandahåller MS SQL ingen funktionalitet för att fylla identitetsluckor, så du måste antingen göra detta själv eller ändra datatypen för identitetskolumnen.

Utöver detta kan du ställa in startvärdet till det minsta negativa talet, för att få ett ännu större värdeintervall att använda.

Här är ett bra blogginlägg om detta ämne .



  1. Oracle-partitionering efter ID och underpartition efter DATUM med intervall

  2. MySQL pivottabell med java

  3. Hur byter jag snabbt namn på en MySQL-databas (ändrar schemanamn)?

  4. lsnrctl starta rane när jag avfyrar det här kommandot detta fel kommer