萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mssql數據庫 >> SQLServer“標識列”的相關問題

SQLServer“標識列”的相關問題

   下面我們看一張表:想一想在數據庫SQLServer中我們如何能更簡便的向這張表格中添加數據呢?

SQLServer“標識列”的相關問題 三聯

  仔細觀察此表我們不難發現,ID字段的這列數據的添充是有規律可循的,它是一個等比自增的數列,向數據表中添加這樣的數據有沒有簡單的方法呢?

  這就談到了SQLServer標識列的問題。我查詢一些資料做了總結,在此和大家一起分享受與交流。

  (1)標識列的定義

  標識列,(通常也稱為“標識字段”或者稱為“自動增長字段”)是一行記錄區別其它記錄的標識,為的也是能唯一地檢索出該行記錄。

  注意:一個表中只能有一個標識列(標識字段),一般是把“主鍵”設為標識列。

  (2)如何把一個字段設為標識列?

  下面我以SQLServer2008為例來看一下它的設置步驟:

  如:右鍵單擊——表Person3,左鍵單擊——“設計”屬性,然後選中要設為標識列的字段,在“標識規范”中,將字段的“是標識”設為“是”,最後關閉此窗口,保存即可。

  從上圖中“標識規范”中看到,標識列中還有個“標識種子”和“標識增量”,主要是為了避免重復值的出現,便於查詢。

  1. 標識種子 是開始的數是多少,默認為1。

  2. 標識增量(也稱為增長種子)是每增加一條數據增加的值是多少,默認為1。

  3. 標識列不容許插入值,是自動給值的,強制給會報錯。

  identity(1,1) 那麼該列標識種子是1,增長種子也是1。第一個參數是標實種子,第二個參數是增長種子。

  注意:在設置標識列之前,要在—‘工具’菜單中找到—‘選項’—在選項中—把‘阻止保存要求重新建表的更改’的“√”去掉,否則SQLServer要修改表的標識列沒法修改。

  (3)設置標識列的好處

  標識列是自動增長的,從種子開始,依次遞增,遞增量位自己設置的。比如:種子是1,增長量為1,那麼標識列的值是:1、2、3、4、5……依次類推。所以你寫Insert語句的時候,不用寫標識列的值。

  也就是說:標識列實現了字段自增,解決的是並發的問題,不用開發人員控制自增,SQLServer會自動分配標識列的值,如果兩個人同時往數據庫裡面插數據時,將會產生唯一的自動增加為標識.

copyright © 萬盛學電腦網 all rights reserved