国产探花免费观看_亚洲丰满少妇自慰呻吟_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 號錯誤信息。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 临猗县| 江津市| 湖州市| 夏邑县| 图片| 虹口区| 丰宁| 嘉荫县| 锦屏县| 桐柏县| 兴业县| 龙海市| 通山县| 金秀| 余江县| 镇沅| 青阳县| 东乡族自治县| 合肥市| 青岛市| 曲麻莱县| 宁夏| 通江县| 图木舒克市| 哈密市| 揭阳市| 澄城县| 盐边县| 青浦区| 珠海市| 古交市| 沈丘县| 甘肃省| 集安市| 金乡县| 南开区| 赤城县| 黔西| 微博| 纳雍县| 大同市|