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 1
Arithmetic overflow error converting IDENTITY to data type int.
Arithmetic overflow occurred.
Вы не сможете вставить больше записей, пока вы:
- удалить некоторые и сбросить столбец идентификации, используя
DBCC CHECKIDENT
команда,
или же - изменить тип данных столбца на
bigint
(предложено Gabriel Guimarães).
- удалить некоторые и сбросить столбец идентификации, используя