SQL Server 中调整自增字段的当前初始值

来源:http://www.mnuet.com 作者:产品分类 人气:137 发布时间:2020-02-29
摘要:今天在把叁个CommuntiyServer的数据库从SQL二〇〇三晋升到SQL二零零五的时候,蒙受二个蹊跷的难题,报如下错误:ViolationofP奇骏IMA传祺YKEYconstraint'PK_cs_Threads'.Cannotinsertduplicatekeyinobject'dbo

今天在把叁个CommuntiyServer的数据库从SQL二〇〇三晋升到SQL二零零五的时候,蒙受二个蹊跷的难题,报如下错误: ViolationofP奇骏IMA传祺YKEYconstraint'PK_cs_Threads'.Cannotinsertduplicatekeyinobject'dbo.cs_Threads'. 解析进去后,竟然开掘那个表的自增字段数据库中一度完结了6144,而数据库维护的这些表的开首自增值只到6109。 息灭情势超轻松,利用以下SQL语句就能够化解: DBCCCHECKIDENT('cs_Threads'卡塔尔国上述讲话的野趣正是:要是表'cs_Threads'的如今标记值小于列中存放的最大标志值,则利用标志列中的最大值对其开展重新载入参数。 CHECKIDENT命令能够有以下两种写法: 1、DBCCCHECKIDENT('table_name',NORESEED卡塔尔(قطر‎不重新设置当前标志值。DBCCCHECKIDENT重临一个表格,它指明当前标记值和应当的标志值。 肖似如下的表格: Checkingidentityinformation:currentidentityvalue'6109',currentcolumnvalue'6144'. 2、DBCCCHECKIDENT('table_name')或DBCCCHECKIDENT('table_name',RESEED卡塔尔国假诺表的脚下标志值小于列中积累的最大标记值,则运用标志列中的最大值对其進展重新初始化。 上述命令推行的时候,也会报雷同上边的表格。 3、DBCCCHECKIDENT('table_name',RESEED,new_reseed_value卡塔尔(قطر‎当前值设置为new_reseed_value。 假若自创始表后还未将行插入该表,则在实施DBCCCHECKIDENT后插入的首先行将使用new_reseed_value作为标记。不然,下二个插入的就要使用new_reseed_value+1。 如果new_reseed_value的值小于标记列中的最大值,现在援引该表时将时有产生2627号错误音信。

本文由广东十一选五一定牛发布于产品分类,转载请注明出处:SQL Server 中调整自增字段的当前初始值

关键词:

最火资讯