当前位置: 代码迷 >> Sql Server >> MSSQL2005自增长字段
  详细解决方案

MSSQL2005自增长字段

热度:155   发布时间:2016-04-27 14:02:48.0
【求助】MSSQL2005自增长字段
请问MSSQL2005自增长字段的最大值是多少?
比如初值是1,种子也是1.

在不断对数据表进行插入和删除记录时,自增长字段的值一直在增大,会不会超过int类型的上限?
若超过了上限,程序上该怎么处理?

------解决方案--------------------
SQL code
CREATE TABLE #t(  [myid] [int] IDENTITY(2147483645,1) NOT NULL,  [mydt] [datetime] NOT NULL  DEFAULT (getdate()),  [myno] [int] NULL)insert into #t (myno) values(1)insert into #t (myno) values(2)insert into #t (myno) values(3)select * from #tmyid            mydt                    myno--------------------------------------------2147483645    2008-10-26 10:09:58.077     12147483646    2008-10-26 10:09:58.077     22147483647    2008-10-26 10:09:58.077     3insert into #t (myno) values(4)消息 8115,级别 16,状态 1,第 1 行将 IDENTITY 转换为数据类型 int 时出现算术溢出错误。发生算术溢出。
------解决方案--------------------
和你定义的字段类型上限一样

bigint 从 –2^63 (–9,223,372,036,854,775,808) 到 2^63–1 (9,223,372,036,854,775,807)
整数数据,从 –2^63 (–9,223,372,036,854,775,808) 到 2^63–1 (9,223,372,036,854,775,807)。存储大小为 8 字节。

integer –2^31 (-2,147,483,648) 到 2^31–1 (2,147,483,647)
整数数据,从 –2^31 (-2,147,483,648) 到 2^31–1 (2,147,483,647)。存储大小为 4 字节。

smallint –32,768 到 32,767
整数数据,从 –32,768 到 32,767。存储大小为 2 字节。
 
tinyint 从 0 到 255
整数数据,从 0 到 255。存储大小为 1 字节。