SQLServer“識別欄位”的相關問題

來源:互聯網
上載者:User

   下面我們看一張表:想一想在資料庫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會自動分配識別欄位的值,如果兩個人同時往資料庫裡面插資料時,將會產生唯一的自動增加為標識.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.