回答

收藏

在SQL 2005年,自动编号列号用完怎么办?

技术问答 技术问答 348 人阅读 | 0 人回复 | 2023-09-14

当SQL Server 2005碰巧达到IDENTITY列的最大值会发生什么?它从头开始填补空白吗?: w9 d6 ^0 }! C6 u- R
SQL Server 2005年发生时的行为是什么?+ A* X+ b7 ?% }% S
                                                               
8 g2 j, q) L" m1 [    解决方案:                                                               
( U$ ], w% x. i) e! B                                                                当你达到最大值时,你会得到溢出错误
+ v, V8 Z# U8 E( J。如果您使用bigint最大数据类型使用值,9、223、372、036、854、775、807很可能不会发生这种情况。% ?2 U6 L' ^6 r7 H. d. @& ~9 ~
如下所示:
+ P3 [7 x5 f, i- d) a, RMsg 220,Level 16,State 2,Line 10Arithmetic overflow error for data type tinyint,value = 256.(来源)/ [& }0 K& K1 g  s9 U
据我所知,MS SQL身份空白没有提供任何功能,所以你要么必须自己做,要么改变身份列的数据类型。
. V: b) E! Q9 D此外,您还可以将起始值设置为最小负,以获得更大范围的值。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则