繁体   English   中英

标识列是否从指定的种子开始

[英]Does identity column start at the specified seed

参考下面所附的来自SQL Server Management Studio的图像,我已经有一个包含记录的表,最后一条记录的id of 7 我希望将此列自动递增作为主键(就像在进行一些未知填充之前所做的那样),显然下一条记录的id of 8

在此处输入图片说明

将种子指定为7意味着下一个记录的ID将为7吗? 还是(7 +增量值)等于8?

SQL Server非常智能,您从1到8给出的任何值都只会从8开始。

例如,如果将“ Identity Seed为1,并在表中插入一条记录,SQL将仅将新的“ Identity计算为8。

如果在这种情况下指定> 8,则仅考虑种子值。

注意:当您使用SSMS实现此目的时,将在内部删除表,并使用正确的身份创建一个新表。

如果要使用sql查询来执行此操作,则必须遵循此答案中提到的说明

假设您的桌子很大,那么您必须查询以找到最大ID

简单地做到这一点,

DBCC CHECKIDENT ('TableName', RESEED, 1) 

我认为SQL Server将迫使您重新创建具有新标识的表,并且您将不得不将数据移到该表中,该表将从1开始并以1递增。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM