自增长字段的疑问 请问int identity(1,1)这样的字段,有没有可能达到int的最大值啊?-2^31 (-2,147,483,648) to 2^31-1 (2,147,483,647)如果达到最大值,再自增长会出现什么情况? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 沒試過,如果數據多的話,定義為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 应该够用...但是达到极限会发生什么呢? 是插不进数据?还是会发生什么事? 等高人 9494。。那我一个系统,设置identity之后,如果一直用下去,会不会爆掉?这个我觉得,因为自增长嘛,不管什么类型,只要有个极限,那随着系统的使用,应该会出现达到极限的情况吧?不知道各位达人,如何解决这种情况的? create table Test (test decimal(38,0) identity(1,1), c2 int.....)/*最大38个9:99999999999999999999999999999999999999够楼主用了吧?!!!*/ 你這總擔心是多佘的,如果你的數據真的到了自增都不夠用時,你不會做數據移轉嗎?不然的話你的系統不是慢死了-----------------数据转移是的。。只是让系统得到缓解而且,一般这种,用这种字段用来关联表,应该是很正常的。。但是,即使你把历史数据转移掉,你这个字段的增长还是继续的。。如果你把identity从头开始的话,那可能引起数据冲突,不知道我的想法对不对。请大家各抒己见阿。。当然,目前我也这么用的,,只是突然一个做2次开发的时候,一个4年前的系统,继续开发,才发现其中identity的数据已经比较大了。。呵呵。。 create table Test (test decimal(38,0) identity(1,1), c2 int.....)/*最大38个9:99999999999999999999999999999999999999够楼主用了吧?!!!*/----哈哈。。我现在是不多想,只是个疑问罢了。。想想设计系统的人,不知道这种问题属不属于考虑范围。。也不清楚以前的人设计系统有没有考虑这个。。所以拿出来大家讨论一下。。呵呵 这个问题肯定考虑,看你的数据量。如果是静态表,只要够用,用tinyint又何妨。如果是流水记录,用bigint,我敢说跑1千年都不会爆,用int基本上也可以了。 怎么做数据库的课程设计啊? 请问Sql2005有分页功能么? 如何用代码实现为数据库新建登陆 如何查找出每门课都考第一名的那个人? 求书 如果实现这样子一个结果集? 如何用一个表的统计结果去更新另一个表? 新手求助SQL sever问题:从数据类型varchar转换为float时出错。 寻求一个存储过程的方法。细节详见下面?分不够再加! SQL Server2008日志备份提示失败 同一个表中的两个字段都引用另一个表的主键,为什么不能建立级联更新删除关系? 怎样先选择出记录,然后再排序
如果数据量很大的话,用bigint吧
将 IDENTITY 转换为数据类型 int 时发生算术溢出错误。
发生算术溢出。
但是达到极限会发生什么呢? 是插不进数据?
还是会发生什么事? 等高人
最大38个9:99999999999999999999999999999999999999
够楼主用了吧?!!!
*/
你的系統不是慢死了-----------------数据转移是的。。只是让系统得到缓解而且,一般这种,用这种字段用来关联表,应该是很正常的。。但是,即使你把历史数据转移掉,你这个字段的增长还是继续的。。如果你把identity从头开始的话,那可能引起数据冲突,不知道我的想法对不对。请大家各抒己见阿。。当然,目前我也这么用的,,只是突然一个做2次开发的时候,一个4年前的系统,继续开发,才发现其中identity的数据已经比较大了。。呵呵。。
最大38个9:99999999999999999999999999999999999999
够楼主用了吧?!!!
*/
----哈哈。。我现在是不多想,只是个疑问罢了。。想想设计系统的人,不知道这种问题属不属于考虑范围。。也不清楚以前的人设计系统有没有考虑这个。。所以拿出来大家讨论一下。。呵呵
如果是静态表,只要够用,用tinyint又何妨。
如果是流水记录,用bigint,我敢说跑1千年都不会爆,用int基本上也可以了。