首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

自增长字段的疑问解决方法

2012-03-13 
自增长字段的疑问请问intidentity(1,1)这样的字段,有没有可能达到int的最大值啊?-2^31(-2,147,483,648)to2

自增长字段的疑问
请问

int     identity(1,1)这样的字段,有没有可能达到int的最大值啊?

-2^31   (-2,147,483,648)   to   2^31-1   (2,147,483,647)

如果达到最大值,再自增长会出现什么情况?

[解决办法]
沒試過,如果數據多的話,定義為bigint 總夠用吧
[解决办法]
identity 有极限的...但是不知道达到极限会发生什么. - -
[解决办法]
没遇到过
如果数据量很大的话,用bigint吧
[解决办法]
create table test1(id int identity(2147483647,1),s varchar(10))

insert into test1(s) values( 'a ') -正常

insert into test1(s) values( 'b ') --错误如下

服务器: 消息 8115,级别 16,状态 1,行 1
将 IDENTITY 转换为数据类型 int 时发生算术溢出错误。
发生算术溢出。

[解决办法]
同意动物大哥... bigint 应该够用...
但是达到极限会发生什么呢? 是插不进数据?
还是会发生什么事? 等高人
[解决办法]
zhenmeiyisi(。。。)
多谢 学习了
[解决办法]
如果一直用下去,会不会爆掉?

-----------
你這總擔心是多佘的,如果你的數據真的到了自增都不夠用時,你不會做數據移轉嗎?不然的話
你的系統不是慢死了
[解决办法]
这个问题肯定考虑,看你的数据量。
如果是静态表,只要够用,用tinyint又何妨。
如果是流水记录,用bigint,我敢说跑1千年都不会爆,用int基本上也可以了。

热点排行