Int 主键 - 超出 int 范围
只是想知道超过 2147483647 条记录后实际会发生什么?
Just wondering what actually happens after you exceed 2147483647 records?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
只是想知道超过 2147483647 条记录后实际会发生什么?
Just wondering what actually happens after you exceed 2147483647 records?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
尝试一下
消息 8115,级别 16,状态 1,第 1 行
将 IDENTITY 转换为 int 数据类型时出现算术溢出错误。
另请参阅什么当您的身份列达到最大时要执行的操作以进行快速修复
try it out
Msg 8115, Level 16, State 1, Line 1
Arithmetic overflow error converting IDENTITY to data type int.
See also What To Do When Your Identity Column Maxes Out for a quick fix
大多数人忘记了 int 有一个负值,它比正值大。如果您认为您可能超出正 int 值,只需从范围 -2,147,483,648 的负端开始您的身份。或者真正与新的 DBA 一起玩,从 2,147,483,647 开始,步长为 -1。
Most people forget there is a negative side to int which is one bigger than the positive side. If you think you might outrun the positive int values just start your identity at the negative end of the range -2,147,483,648. Or to really play with new DBA start at 2,147,483,647 and step by -1.
如果您认为这很可能,那么请使用范围更大的数据类型。例如 NUMERIC 或 BIGINT。
If you think that is likely then use a datatype with a larger range. NUMERIC or BIGINT for example.