如何:修改資料行識別屬性 (Visual Database Tools)

在資料錄加入至資料表時,如果您要重新定義自動產生且儲存在資料行中的序號,您可以變更資料行的識別 (Identity) 屬性。您只可以在每個資料表的一個資料行上設定識別屬性。

具有識別屬性的資料行含有系統產生的唯一循序值 (例如,員工識別碼),可用來識別資料表中的每一筆資料列。在具有識別欄位的資料表中插入值時,Microsoft SQL Server 會依據上次使用的識別值 (識別值種子屬性) 以及建立資料行時指定的增量值 (識別值增量屬性),自動產生下一個識別碼。

[!附註]

只有針對不允許 Null 值,且資料類型是 decimal、int、numeric、smallint、bigint 或 tinyint 的資料行,才能設定識別屬性。

若要修改資料行的識別屬性

  1. 在 [物件總管] 中,找到要變更小數位數的資料行,以滑鼠右鍵按一下包含該資料行的資料表,然後按一下 [設計]

    資料表會在 [資料表設計工具] 中開啟。

  2. 針對要變更的資料行清除 [允許 Null] 核取方塊。

  3. 在 [資料行屬性] 索引標籤中,展開 [識別規格] 屬性。

  4. 按一下 [為識別] 子屬性方格窗格中的資料格,再從下拉式清單 (Drop-Down List) 中選擇 [是]

    [!附註]

    如果資料表已經有識別欄位,則在另一個資料行上設定 [是識別] 屬性,將會無預警地在原始資料行上重設屬性為 [否]

  5. [識別值種子] 資料格中輸入值。系統會將這個值指派至資料表的第一個資料列。預設指派的值為 1。

  6. [識別值增量] 資料格中輸入值。系統會將後續每一個資料列的 [識別值種子] 加入至這個增量值。預設指派的值為 1。

例如,如果您要為 orders 資料表中加入的每一個資料列產生一個 5 位數的訂單 ID,訂單 ID 會從 10000 開始,並以 10 為單位來遞增。若要這麼做,可以在 [識別值種子] 中輸入 10000,並在 [識別值增量] 中輸入 10。

如果您變更資料表的任何識別屬性,現有的識別值都會保留。您的新設定只會套用至資料表中加入的新資料列。

[!附註]

如果資料表包含經常刪除的識別欄位,識別值之間可能會產生間隔。如果想避免這種間隔,請不要使用識別屬性。

當按一下方格資料格外部,或使用 TAB 鍵移至另一個方格資料格時,系統會將新的 [識別規格] 屬性的新值指派至 [資料表設計師] 中的資料行。當您在 [資料表設計師] 中儲存變更時,這些就會在資料庫中生效。