sql-server – SQL Server 2008:如果身份超过int的最大值,会发生什么?

前端之家收集整理的这篇文章主要介绍了sql-server – SQL Server 2008:如果身份超过int的最大值,会发生什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
想象一下,我们有一张桌子:
create table MYTABLE (
 id int IDENTITY(1,1),name varchar(10)
)

我们必须在表中插入很多行.

有人知道当生成的标识值超过最大整数值(2 ^ 32-1)时会发生什么?

解决方法

>您将收到以下错误

Msg 8115,Level 16,State 1,Line 1
将IDENTITY转换为数据类型int的算术溢出错误.
发生算术溢出.
>在您执行以下操作之前,您将无法插入更多记录:

>删除一些并使用the DBCC CHECKIDENT command重置标识列,
要么
>将列的数据类型更改为bigint(由Gabriel Guimarães建议).

猜你在找的MsSQL相关文章