Что происходит с таблицей SQL Server 2005 с идентификатором (int), который превышает maxint? - PullRequest
7 голосов
/ 19 декабря 2008

Например, SQL Server предупредит вас или просто умрет?

Ответы [ 2 ]

18 голосов
/ 19 декабря 2008

SQL Server 2005 выдаст следующую ошибку при переполнении столбца IDENTITY.

Server: Msg 8115, Level 16, State 1, Line 1
Arithmetic overflow error converting IDENTITY to data type int.
Arithmetic overflow occurred.

Ваш столбец идентификаторов не обязательно должен быть ограничен INT, и его действительно можно установить на BIGINT, если вы подозреваете, что INT не будет достаточно большим.

INT (32-разрядная подпись) увеличится до 2 147 483 647, а BIGINT (64-разрядная подпись) - до 9 223 372 036 854 775 807 (это 9 квинтиллионов, что достаточно для 1,3 миллиарда id на человека на планете).

0 голосов
/ 19 декабря 2008

Скорее всего, и то и другое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...