国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

SQL Server 中調整自增字段的當前初始值

2024-08-31 01:00:24
字體:
來源:轉載
供稿:網友
前幾天在把一個Communtiy Server 的數據庫從SQL 2000升級到SQL 2005 的時候,碰到一個怪異的問題,報如下錯誤:

Violation of PRIMARY KEY constraint 'PK_cs_Threads'. Cannot insert duplicate key in object 'dbo.cs_Threads'.

分析進去后,竟然發現這個表的自增字段數據庫中已經達到了6144,而數據庫維護的這個表的初始自增值只到6109。

解決方法很簡單,利用以下SQL 語句即可搞定:

DBCC CHECKIDENT ('cs_Threads')

上述語句的意思就是:如果表'cs_Threads'的當前標識值小于列中存儲的最大標識值,則使用標識列中的最大值對其進行重置。

CHECKIDENT 命令可以有以下幾種寫法:

1、DBCC CHECKIDENT ('table_name', NORESEED) 

不重置當前標識值。DBCC CHECKIDENT 返回一個報表,它指明當前標識值和應有的標識值。 

類似如下的報表:

Checking identity information: current identity value '6109', current column value '6144'.

2、DBCC CHECKIDENT ('table_name') 或DBCC CHECKIDENT ('table_name', RESEED) 

如果表的當前標識值小于列中存儲的最大標識值,則使用標識列中的最大值對其進行重置。

上述命令執行的時候,也會報類似上面的報表。

3、DBCC CHECKIDENT ('table_name', RESEED, new_reseed_value) 

當前值設置為 new_reseed_value。

如果自創建表后沒有將行插入該表,則在執行 DBCC CHECKIDENT 后插入的第一行將使用 new_reseed_value 作為標識。否則,下一個插入的行將使用 new_reseed_value + 1。

如果 new_reseed_value 的值小于標識列中的最大值,以后引用該表時將產生 2627 號錯誤信息。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南澳县| 龙南县| 台南市| 芮城县| 怀宁县| 湖南省| 临沂市| 永丰县| 正定县| 长宁县| 锡林郭勒盟| 虞城县| 吉安市| 崇明县| 临邑县| 北安市| 上杭县| 日照市| 焦作市| 隆林| 乡宁县| 马公市| 扶风县| 上蔡县| 巫溪县| 壤塘县| 行唐县| 张家港市| 高台县| 齐齐哈尔市| 平泉县| 岳阳市| 通许县| 东宁县| 蒲江县| 淮北市| 蒙山县| 潜山县| 揭西县| 兴海县| 博乐市|