SQL Server identity列的操作方法
[重要通告]如您遇疑難雜癥,本站支持知識付費(fèi)業(yè)務(wù),掃右邊二維碼加博主微信,可節(jié)省您寶貴時(shí)間哦!
SQL Server中,經(jīng)常會用到Identity標(biāo)識列,這種自增長的字段操作起來的確是比較方便。但它有時(shí)還會帶來一些麻煩。
示例一:當(dāng)表中被刪除了某些數(shù)據(jù)的時(shí)候,自增長列的編號就不再是一個(gè)連線的數(shù)列。這種時(shí)候我們可以用以下方案來解決。
SET IDENTITY_Insert [TABLE] [ON|OFF] |
允許將顯式值插入表的標(biāo)識列中,當(dāng)設(shè)置為ON時(shí),這時(shí)可能在Insert操作時(shí)手工指定插入到標(biāo)識列中的編號,同時(shí)必須在操作完成后,將IDENTITY_Insert還原成OFF,否則下次插入的時(shí)候必須指定編號,那不然就無法完成Insert操作。
示例二:當(dāng)表中的記錄被全部刪除,但此時(shí)標(biāo)識列的值越來越大的時(shí)候,如果不加以重置,它還會無休止的增長。這個(gè)時(shí)候我們就要用到:
DBCC CHECKIDENT(TABLE, [RESEED|NORESEED], [1]) |
將把指定表的種子值強(qiáng)制重設(shè)為1。然而,你可能不想將種子重設(shè)為1,在這種情況下,你可以用你想用的種子值替代第三個(gè)參數(shù)。有時(shí)候你可能想知道當(dāng)前的種子,而不是想重設(shè)種子,這時(shí)你就要用到NORESEED,而不用再去顧忌第三個(gè)參數(shù)。
問題未解決?付費(fèi)解決問題加Q或微信 2589053300 (即Q號又微信號)右上方掃一掃可加博主微信
所寫所說,是心之所感,思之所悟,行之所得;文當(dāng)無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!
賞
支付寶贊助
微信贊助
免責(zé)聲明,若由于商用引起版權(quán)糾紛,一切責(zé)任均由使用者承擔(dān)。
您必須遵守我們的協(xié)議,如您下載該資源,行為將被視為對《免責(zé)聲明》全部內(nèi)容的認(rèn)可->聯(lián)系老梁投訴資源 LaoLiang.Net部分資源來自互聯(lián)網(wǎng)收集,僅供用于學(xué)習(xí)和交流,請勿用于商業(yè)用途。如有侵權(quán)、不妥之處,請聯(lián)系站長并出示版權(quán)證明以便刪除。
敬請諒解! 侵權(quán)刪帖/違法舉報(bào)/投稿等事物聯(lián)系郵箱:service@laoliang.net
意在交流學(xué)習(xí),歡迎贊賞評論,如有謬誤,請聯(lián)系指正;轉(zhuǎn)載請注明出處: » SQL Server identity列的操作方法