在SQL server中設定表的自動編號功能–具體操作

來源:互聯網
上載者:User

我們都知道很多的資料庫軟體都為表提供了自動編號的功能,這對於進行有些表的功能是十分有用 的,可以減少很多不必要工作,由於SQL server是我最近才使用的所以,在這個過程中遇到了一些問題,但是經過尋找資料和摸索總算是解決了,所以現在將自己的心得寫下,希望當你遇到同樣問題 時,可以快速的解決.
在SQL server中要實現自動可以有兩種方式:
1.通過"企業管理器",以視窗形式建立,開啟的視窗,這裡我們以在test資料庫中建立test表的id為自動編號欄位為例:


首先:通過"資料庫"的快顯功能表"建立資料庫" 建立一個資料庫test;
然後:選擇建好的test資料庫,在視窗中選擇"表",單擊右鍵,在彈出的菜單選擇"建立表",則會進入資料表設計工具進行表的設計.是設定的效果.在設計完成後,單擊關閉按鈕進行儲存,並將其命名為"test"

2.通過"查詢分析器"以SQL方式建立,開啟查詢分析器,在查詢時段中輸入SQL語句
create database test  --建立test資料庫
create table test (id int IDENTITY(1,1)  not null,test text) --其中的IDENTITY(自動編號的初始舒值,自動編號的增量)即設定自動編號.
3 注意:
(1)一個表只能有一列定義為自動編號屬性,
(2)在SQL server中能夠進行自動編號的幾種資料類型為: decimal、int、numeric、smallint、bigint 或 tinyint。
(3)在建立了自動編號的表中用sql語句插入資料時,其insert中不要包括自動編號的列即如果要在上述test表中插入一行資料,其insert語 句就應為:insert into test (test) values ('this is a test table') 或 insert into test values('this is a test table'),而不能使用insert into test (id,test) values ('','this is a test table') 或者 insert into test  values ('','this is a test table').否則就會出現"當 IDENTITY_INSERT 設定為 OFF 時,不能向表 'test' 中的識別欄位插入顯式值。"的錯誤提示.如果你一定要在自動編號列中插入特定的行如要執行insert into test values (1,'this is not a test table') ,可以通過首先運行 set IDENTITY_insert test(即表名) on語句來實現.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.