免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
SQLServer數(shù)據(jù)庫自增長標(biāo)識(shí)列的更新修改操作

SQLServer數(shù)據(jù)庫自增長標(biāo)識(shí)列的更新修改操作

分類: SqlServer 1489人閱讀 評(píng)論(1) 收藏 舉報(bào)
SQLServer數(shù)據(jù)庫自增長標(biāo)識(shí)列的更新修改操作方法
在日常的sql server開發(fā)中,經(jīng)常會(huì)用到Identity類型的標(biāo)識(shí)列作為一個(gè)表結(jié)構(gòu)的自增長編號(hào)。比如文章編號(hào)、記錄序號(hào)等等。自增長的標(biāo)識(shí)列的引用很大程度上 方便了數(shù)據(jù)庫程序的開發(fā),但是有時(shí)這個(gè)固執(zhí)的字段類型也會(huì)帶來一些麻煩。

一、修改標(biāo)識(shí)列字段的值:(在執(zhí)行insert時(shí),將ID手動(dòng)的 設(shè)置成想要的值)
有時(shí),為了實(shí)現(xiàn)某個(gè)功能,需要修改類型為Identity自增長類型的字段的值,但由于標(biāo)識(shí)的類型所限,這種操作默認(rèn)是不允許的。比如,目前數(shù)據(jù)庫有10 條正常記錄,引時(shí)刪除5條,那么如果再添加數(shù)據(jù)時(shí),自增長的標(biāo)識(shí)列會(huì)自動(dòng)賦值為11,可這時(shí)如果想在插入數(shù)據(jù)時(shí)給賦值6呢,默認(rèn)是不允許的。如果說想改變 主鍵標(biāo)識(shí)符的值,完全由自已控制標(biāo)識(shí)字段的插入,方法是有的,如下:
SET IDENTITY_INSERT [TABLE][ON|OFF]
使 用上述語句,可以方便的控制某個(gè)表的某個(gè)自增長標(biāo)識(shí)列是否自動(dòng)增長,也就是說是否允許你在inert一條記錄時(shí)手動(dòng)指定主鍵標(biāo)識(shí)列字段的值。


如果指定為ON,則可以insert時(shí)指定主鍵標(biāo)識(shí)字段的值,該值不自動(dòng)增長。如果使用完畢,還需使用這個(gè)語句將開關(guān)關(guān)閉到默認(rèn)狀態(tài)OFF,不然下次 insert數(shù)據(jù)時(shí)該字段還是不會(huì)自動(dòng)增長,要做到有始有終嘛。只是每次插入時(shí)都要手動(dòng)的設(shè)置一個(gè)主鍵值,示列如下:
set identity_insert  question_title on   //開啟手動(dòng)設(shè)置
insert into question_title (f_id,f_valid,f_questionTitle) values(6,5,'hello');  //手動(dòng)的向數(shù)據(jù)庫插入數(shù)據(jù)

 


二、重置標(biāo)識(shí)列字段值:
當(dāng)數(shù)據(jù)記錄被刪除一部分后,后面再添加的新數(shù)據(jù)記錄,標(biāo)識(shí)列數(shù)值會(huì)有很大的空閑間隔,看上去不是很爽。即使你刪除表中全部記錄,identity標(biāo)識(shí)列的 值還是會(huì)無何止的自動(dòng)增加變大,而不是從頭開始增長。通過下面這條語句可以重置自增長字段的值:
DBCC CHECKIDENT(TABLE,[RESEED|NORESEED],[1])
上述語句把指定表的ID值(種子值)強(qiáng)制重設(shè)為1。然而,如果你不想將ID重設(shè)為1,你可以用你想用的ID值(種子值)替代第三個(gè)參數(shù)。如果你想知道當(dāng)前 的ID值(種子值),而不想重設(shè)標(biāo)識(shí)種子,這時(shí)你就要用NORESEED,而不用再去設(shè)置第三個(gè)參數(shù)。


DBCC checkident(question_title,reseed,1)

insert into question_title (f_valid,f_questionTitle) values(5,'hello');

 

        如果將表中記錄都刪除后,執(zhí)行上面的一句話,這時(shí)ID的自增長值已被重設(shè),再insert插入記錄到數(shù)據(jù)庫時(shí),ID就可以從設(shè)置的1開始,以后每次插入的 記錄還是自動(dòng)增長。
執(zhí)行成功后提示如下:
--檢查標(biāo)識(shí)信息: 當(dāng)前標(biāo)識(shí)值 '9',當(dāng)前列值 '1'。
DBCC 執(zhí)行完畢。如果 DBCC 輸出了錯(cuò)誤信息,請與系統(tǒng)管理員聯(lián)系。

說明:以上顯示數(shù)據(jù)庫某表中當(dāng)前ID最大值為9,當(dāng)前設(shè)置的ID值為1。


本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
SQLServer中把某個(gè)表里的記錄復(fù)制到另一個(gè)數(shù)據(jù)庫的表中
解釋一下SQLSERVER事務(wù)日志記錄
SQLserver2000數(shù)據(jù)庫修復(fù)辦法總結(jié)
SQL Server解惑——標(biāo)識(shí)列的限制和跳號(hào)現(xiàn)象
SQL SERVER 事務(wù)日志文件不停增長解決
JDBC數(shù)據(jù)庫訪問例子
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服