sqlserver 自增列ID最大值是多少?如果达到最大值,系统将如何处理?
sqlserver 自增列ID最大值是多少?如果达到最大值,系统将如何处理?
ID 是主键
[id] [int] IDENTITY (1, 1) NOT NULL
如果表中数据逐渐增多,id会不会达到最大值?
------解决方案--------------------这个还真不知道。貌似是int类型的最大值??
------解决方案--------------------这个跟你选择的数据类型有关
数据类型 范围 存储
SQL code
bigint
-2^63 (-9,223,372,036,854,775,808) 到 2^63-1 (9,223,372,036,854,775,807)
8 字节
int
-2^31 (-2,147,483,648) 到 2^31-1 (2,147,483,647)
4 字节
smallint
-2^15 (-32,768) 到 2^15-1 (32,767)
2 字节
tinyint
0 到 255
------解决方案--------------------
int类型的最大值为2,147,483,648
二十多亿调数据才能达到最大
设想楼主是不是想多了
------解决方案--------------------
那就int64,哦bigint
------解决方案--------------------
那就用最大的int类型。另外我觉得如果那么多记录放一个数据表,SQL SERVER的效率会低的可怕,再怎么优化也没戏。
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
钻牛角尖了吧,有必要非得在一张表存储所有的数据吗?
查询的效率太低了吧,这么设计的话DBA可以回家了
------解决方案--------------------
同样性质的记录,当然应该在同一个表
否则,sql语句会麻烦很多
记录太多,分区表来解决性能问题,同时对于sql语句是没有任何影响
------解决方案--------------------
消息 8115,级别 16,状态 1,第 1 行
将 IDENTITY 转换为数据类型 int 时出现算术溢出错误。
发生算术溢出。
报这个错,插入失败。
------解决方案--------------------
十几楼了没一个正面回答问题的