環境:SQL Server 2008 問題:設置主鍵和把它設為自增。
環境:SQL Server 2008
問題:設置主鍵和把它設為自增。
解決:點擊table->選中表->design->選中需要設置主鍵的字段,單擊右鍵"設置主鍵"即可。
若要設置主鍵自增,在列屬性中找到標識規范,單擊左邊的"+"號,把否改為是,其他默認即可。
create table tableName(
id int identity(1,1) primary key,
data varchar(50)
)
/*
identity(1,1)就是自動增加,第一個參數是種子值,第二個是增量值;
primary key是主鍵
*/
Insert into tableName values('aaaaa');就會自動在數據表中自增添加主鍵值。
注意:如果主鍵沒有設置為自增那么這條語句將無法執行,會提示:
服務器: 消息 213,級別 16,狀態 4,行 1
插入錯誤: 列名或所提供值的數目與表定義不匹配。
當然,這樣寫插入語句是一個很不好的習慣,因為一旦有一天主鍵自增因為臨時原因被取消掉,則插入語句將同時跟着失效。正確的寫法應該是:
INSERT INTO tableName (data) VALUES('somedata');
另外如果tableName 已經開啟了主鍵自增,那么下面的語句將執行不了:
INSERT INTO tableName (id ,data) VALUES(1,'TETS');
服務器: 消息 544,級別 16,狀態 1,行 1
當 IDENTITY_INSERT 設置為 OFF 時,不能向表 'withoutIdentity' 中的標識列插入顯式值。
如果需要向自增主鍵寫入數據,可以先將自增約束取消,然后寫入數據,再將自增約束加上。