2013-03-13 79 views
0

我有一個主鍵列ID的表,當新記錄插入到數據庫時需要按順序增加一個表。 (即:1,2,3,...)sql 2008添加序列號

是否有可以設置爲自動執行該操作的數據庫選項?

如果不是那麼手動執行它的語法是什麼?

回答

1

如果您創建具有IDENTITY列的表,它會爲你自動完成;

CREATE TABLE test (
    id INT IDENTITY PRIMARY KEY NOT NULL, 
    val VARCHAR(32) 
); 

INSERT INTO test (val) VALUES ('a'),('b'),('c'); 

SELECT * FROM test; 

id val 
1 a 
2 b 
3 c 

An SQLfiddle showing it

+0

是否可以更改已經創建的表的PK列,還是需要刪除/重新創建? – 2013-03-13 11:09:30

+0

@sd_dracula我不認爲這是可能的(仍然)在SQL服務器只是一個改變表,但[本文](http://www.mssqltips.com/sqlservertip/1397/add-or-drop-identity- property-for-an-existing-sql-server-column /)描述瞭如何手動執行它(但非常痛苦)。 – 2013-03-13 11:14:58

+0

其實我可以在SQL MGMT Studio中啓用它,謝謝你。 – 2013-03-13 11:42:32