如何:修改資料行識別屬性 (Visual Database Tools)
更新: 2006 年 12 月 12 日
在資料錄加入至資料表時,如果您要重新定義自動產生且儲存在資料行中的序號,您可以變更資料行的識別 (Identity) 屬性。您只可以在每個資料表的一個資料行上設定識別屬性。
具有識別屬性的資料行含有系統產生的唯一循序值 (例如,員工識別碼),可用來識別資料表中的每一筆資料列。在具有識別資料行的資料表中插入值時,Microsoft SQL Server 會依據上次使用的識別值 (識別值種子屬性) 以及建立資料行時指定的增量值 (識別值增量屬性),自動產生下一個識別碼。
附註: |
---|
只有針對不允許 Null 值,且資料類型是 decimal、int、numeric、smallint、bigint 或 tinyint 的資料行,才能設定識別屬性。 |
若要修改資料行的識別屬性
在 [物件總管] 中,找到要修改識別屬性的資料行,以滑鼠右鍵按一下包含該資料行的資料表,然後按一下 [設計] (SP1 或更早版本則為 [修改])。
資料表會在 [資料表設計師] 中開啟。
針對要變更的資料行清除 [允許 Null] 核取方塊。
在 [資料行屬性] 索引標籤中,展開 [識別規格] 屬性。
按一下 [為識別] 子屬性方格窗格中的資料格,再從下拉式清單 (Drop-Down List) 中選擇 [是]。
附註: 如果資料表已經有識別資料行,則在另一個資料行上設定 [是識別] 屬性,將會無預警地在原始資料行上重設屬性為 [否]。 在 [識別值種子] 資料格中輸入值。系統會將這個值指派至資料表的第一個資料列。預設指派的值為 1。
在 [識別值增量] 資料格中輸入值。系統會將後續每一個資料列的 [識別值種子] 加入至這個增量值。預設指派的值為 1。
例如,如果您要為 orders
資料表中加入的每一個資料列產生一個 5 位數的訂單 ID,訂單 ID 會從 10000 開始,並以 10 為單位來遞增。若要這麼做,可以在 [識別值種子] 中輸入 10000
,並在 [識別值增量] 中輸入 10
。
如果您變更資料表的任何識別屬性,現有的識別值都會保留。您的新設定只會套用至資料表中加入的新資料列。
附註: |
---|
如果資料表包含經常刪除的識別資料行,識別值之間可能會產生間隔。如果想避免這種間隔,請不要使用識別屬性。 |
當按一下方格資料格外部,或使用 TAB 鍵移至另一個方格資料格時,系統會將新的 [識別規格] 屬性的新值指派至 [資料表設計師] 中的資料行。當您在 [資料表設計師] 中儲存變更時,這些就會在資料庫中生效。