当前位置: 首页 > 面试题库 >

在SQL 2005中,如果自动编号列的编号用完了怎么办?

曾洲
2023-03-14
问题内容

当SQL Server 2005碰巧达到IDENTITY列的最大值时会发生什么?它是否从头开始并开始填补空白?

SQL Server 2005发生时的行为是什么?


问题答案:

达到最大值时,您将得到一个溢出错误
。如果您使用bigint数据类型使用最大值,9,223,372,036,854,775,807则极有可能不会出现这种情况。

您将收到的错误消息如下所示:

Msg 220, Level 16, State 2, Line 10
Arithmetic overflow error for data type tinyint, value = 256.

(来源)

据我所知,MS SQL没有提供任何功能来填补身份空白,因此您要么必须自己做,要么更改身份列的数据类型。

除此之外,您可以将起始值设置为最小的负数,以获取更大范围的值。



 类似资料:
  • 有没有办法以降价格式创建自动编号的列表?目前,我必须手动输入我希望出现的数字,但如果我在列表中插入项目,则必须对以下所有项目重新编号很麻烦。

  • 问题内容: 我在运行一个有自动编号作为PK字段的语句时遇到麻烦。我有一个自动增量作为主键,然后是4个类型的字段;但是Access(使用ADO)似乎想要insert语句使用五个值。 如何使用自动编号功能进行实际编号? 问题答案: 如果不想为表中存在的所有列提供值,则必须指定要插入的列。(这是合乎逻辑的,否则,access或任何其他DB应该如何知道您要为哪些列提供值)? 因此,您要做的是: 另外,请确

  • 问题内容: 我有一个VB6 / Access应用程序,偶尔会遇到错误的自动编号字段种子问题。 可以说有一个具有自动编号字段ID(也是主键)的表MYTABLE。可以说,当前ID的最大值为1000。当应用程序插入新记录(未明确提供ID值)时,由于某种原因,它决定下一个自动编号字段值为950(而不是应为1001)。 )-因此发生主键冲突错误。 我找到了一篇描述我的症状的知识库文章:http : //su

  • 问题内容: 无论如何,仅从月份的数字(1-12)中获取数字?例如,如果我在MySQL中有任何本地方法可以将其转换为? 问题答案: 您可以使用将数字转换为日期,然后使用 警告:如果在很多行上完成,这可能会很慢。

  • 我有一个SQL Server表,它有一个标识列(

  • 注意: Adobe Muse 不再添加新增功能,并将于 2020 年 3 月 26 日停止支持。有关详细信息和帮助,请参阅 Adobe Muse 服务结束页面。 在 Adobe Muse 中,可以将一组段落在文本框架内排列为项目符号列表或编号列表。通常,列表是相关项目的集合,比如团队的队员、任务的步骤等等。列表可以包含另一个列表,此类列表成为嵌套或多级列表。 可以使用“项目符号”面板创建有层次的项