在數據庫中自動生成編號的實現方法分享建站知
導讀:1建站知識一直很討厭存儲過程,沒想到今天幫了我大忙啊,或許會因為今天讓我慢慢喜歡上存儲過程吧,不多說了,切入正題建設網站網站seo優化。
在使用數據庫的時候,難免要在使用過程中進行刪除的操作,如果是使用int類型的字段,令其自增長,這是個最簡單的辦法,但是后果會有些不是你想要的!看下這個Demo:
1.建立這樣的簡單的表Test.
2.設置字段id的自增.
3.表添加數據
in網站建設制作sert into Test(name) values('TestName')
insert into Test(name) values('TestName')
insert into Test(name) values('TestName')
4.你會看到
5.在這里我們刪除id為2的行.就只剩下了id為1和id為3的兩行數據了.(不上圖了)
6.再添加一條數據.
insert into Test(name) values('TestName')
我們會發現這或許不是我們想要的結果了
為什么沒有id為2的呢? 之后任你死命的加,也不會有id為2的數據行了!這樣的設計固然方便,但是魔鬼在于細節,這篇博客就是為了解決這個問題讓我們重新見到id為2的數據行(這里順便改進一下,讓結果網站建設公司不只是顯示id為2這樣的int,假如有一天我們的各戶要求我們他們要一個5位數的id號嗎,從00000開始,OK,這沒問題) 1.主角登場,存儲過程終于派上了用場了
復制代碼 代碼如下:
Create procedure [dbo].[insertName] (@name nvarchar(50)) as begin declare @i int set @i=1如何seo優化推廣網站 while(@i<10000) begin if exists(select convert(int,id) from numbertest where convert(int,id)=@i) begin set @i=@i+1 continue end else begin insert numbertest values(right('0000'+convert(varchar(5),@i),5),@name)--這里的兩個數字'5' 就是我們要設置的id長度 break end end end
2.用SQL 語句調用這個存儲過程execute insertName Test
你可以狂按幾次,幾十次,幾百次,我們要的數據加進去了,
我們可以刪除指定的id數據行,當我們再次進行添加的時候,之前被刪掉的id行,將會被我們新添加的數據所覆蓋,這樣id就都可以連接起來了.
哦,對了,還沒有說如何顯示的是 '0' 開頭的呢?這個簡單,將id的數據類型設置為nvarchar(5),就是這么簡單!呵呵! 總結: 這里我們調用了存儲過程,存儲過程不宜多用,但是有的時候還真是用起來很方便,本文章對于剛剛工作的童鞋們應該還是有點幫助的吧,好好學習吧,生活很美好! 如釋重負的感覺啊,終于搞定一個問題,在這里感謝幫助我的童鞋們! 下次再會!
相關建設網站網站seo優化。聲明: 本文由我的SEOUC技術文章主頁發布于:2023-05-21 ,文章在數據庫中自動生成編號的實現方法分享建站知主要講述數據庫中,自動生成,在數據庫中自動生成編號的實網站建設源碼以及服務器配置搭建相關技術文章。轉載請保留鏈接: http://www.bifwcx.com/article/web_3935.html