SQL Server 2008: что произошло, если идентификатор превысил максимальное значение int?
Представьте, что у нас есть стол:
create table MYTABLE (
id int IDENTITY(1,1)
,name varchar(10)
)
Мы должны вставить много строк в таблицу.
Кто-нибудь знает, что произойдет, когда сгенерированное значение идентичности выходит за пределы максимального целочисленного значения (2^32-1)?
1 ответ
Решение
Вы получите следующую ошибку:
Msg 8115, Level 16, State 1, Line 1Arithmetic overflow error converting IDENTITY to data type int.Arithmetic overflow occurred.Вы не сможете вставить больше записей, пока вы:
- удалить некоторые и сбросить столбец идентификации, используя
DBCC CHECKIDENTкоманда,
или же - изменить тип данных столбца на
bigint(предложено Gabriel Guimarães).
- удалить некоторые и сбросить столбец идентификации, используя