台灣最大程式設計社群網站
線上人數
1778
 
會員總數:246574
討論主題:190030
歡迎您免費加入會員
討論區列表 >> MS SQL >> [SQL]有關SQL Sserver 的自動編號
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
[SQL]有關SQL Sserver 的自動編號
價值 : 0 QP  點閱數:1630 回應數:6
樓主

DeepDark
初學者
596 119
859 341
發送站內信

回應者: keny 

Data Type 設整數,底下設定要改
Identity = yes
Identity Seed = 1
Identity Increment = 1

如果您用的是中文版 MS SQL, 那麼它是寫著"識別"

回應者: eway 

首先,要設成自動编號的欄位要設成 int
第二,你找找設定欄位名稱下面有一個「資料行」的tab....
其中一項「識別」,你將「否」改成「是」就會自動编號了

========================================================

請教一下...這是我在站上的舊文章裡找到如何在SQL Server設自動編號
我照著上面寫的設好後發現一個疑問......
因為自動編號的欄位必需設成int,可是為什麼長度的地方不讓我改....(預設值是4個位元)
也就是說我這個自動編號只能到9999而已......那萬一我超過4位數怎麼辦.....
因為我預計大概需要7位數才夠用.........有人可以告訴我怎麼改嗎

本篇文章發表於2002-09-23 11:25
1樓
作者回應

DeepDark
檢舉此回應
對不起.......各位大大......我翻了一下我的SQL手冊...對於int的說明如下

===========================
int : 整數(完整數字)資料從-2^31(-2,147,483,648)至2^31-1(2,147,483,647)
===========================

上面這句話的意思是不是如果自動編號的欄位如果設成int...則最大可以自動編號到2,147,483,647這麼大.........對不對....這樣的話就有超過7位數了....夠我用了

有人知道嗎.....只要告訴我對或不對就好了~~~~~~3Q
本篇文章回覆於2002-09-23 11:38
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

Allen
捐贈 VP 給 Allen 檢舉此回應
設int應該就夠你用了
本篇文章回覆於2002-09-23 11:47
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

DeepDark
檢舉此回應
喔.....謝謝allen
本篇文章回覆於2002-09-23 12:00
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

redhair
檢舉此回應
電腦是二進位的世界
四位元不代表四位數
一個位元(byte)代表八個bit,從00000000-11111111總共有2^8個數
四個位元(byte)代表四乘八個bit,總共有2^32個數
但考慮到有正整數和負整數所以把2^32除以二,正負各一半
所以int的範圍是從-2^31 到 + 2^31-1




本篇文章回覆於2002-09-23 13:43
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

ng
檢舉此回應
Can everybody give some example to me how to do?
本篇文章回覆於2002-12-10 06:42
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

paulyang
檢舉此回應
假設 RowID 是一個宣告為 uniqueidentifier 的欄位
使用下列 SQL statement:
   insert: 
      INSERT INTO [TableName] ([Fld1], {Fld2], RowID) VALUES ([Val1], [Val2], NEWID())
   delete:
      DELETE FROM [TableName] WHERE (RowID = 'EF552DA3-FB20-4D69-9E9E-2211377A080F') 
本篇文章回覆於2002-12-10 13:20
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.