MS SQL Server会在自动增量模式下重用已删除的主键吗?

Ash*_*ham 5 sql-server limit sqldatatypes

假设我的表中有100行,我的主键是整数,从1开始自动递增1。一旦行id达到100,我会合并我的数据并清除表,SQL Server会重用已删除的主键吗?

由于主键递增 1,如果上述问题的答案是否定的,一旦主键达到“Int”可以容纳的最大可能数字,下一次插入会发生什么?

sni*_*erd 5

MSSQL 不会重新使用已使用DELETE(我假设您正在谈论增量)删除的主键identity。如果您使用TRUNCATE该表,它将重置种子并重新使用它们。

如果你超过了最大值,INT它确实会无法进入下一行。您可以将INT列转换为BIGINT以避免这种情况。

BIGINT最大值为: 上限但请9,223,372,036,854,775,807 注意.. 您也可以使用这些负值!INT2,147,483,647

您可以在此处阅读有关这些上限的信息:https://learn.microsoft.com/fr-fr/sql/t-sql/data-types/int-bigint-smallint-and-tinyint-transact-sql ?view=sql-服务器-2017