2011-03-18 146 views
0

假設我有一個包含許多遺留數據的表(col1,col2,...)。然後我添加一個新列myID到這張表。然後,我想將數字如1,2,3,...放到此列中,以便表格數據如下所示:
(1,...)
(2,...)
(3, ...)如何在一個sql語句中將序列號添加到新列中

之後,我想改變這個列身份識別碼來標識列

我將如何使用SQL來做到這一點,而無需編寫使用遊標的存儲過程?

+0

您無法將列更改爲SQL Server中的標識列。如果需要插入顯式值,則需要將其創建爲身份並使用'identity_insert'。 – 2011-03-18 19:56:26

回答

0

你可以把它作爲身份,當你創建它時,MSSQL將完成剩下的工作。

+0

我完全按照你所說的做了,但得到了以下類型的錯誤:'MyTable'表 - 無法修改表。 無法將值NULL插入到'MyID'列中,表'MyDB.dbo.Tmp_MyTable';列不允許有空值。 INSERT失敗。 該聲明已被終止。有什麼設置我應該設置它? – KentZhou 2011-03-18 19:56:21

+0

從我可以理解的你沒有使其身份,但你指出該領域是不可空的。嘗試擴展身份選項以查看身份開始的位置以及櫃檯的位置。任何新的字段,如果設置標識(只有一個/表)將由服務器自動生成。 – 2011-03-18 20:01:30

+0

想通了:添加一個新列,沒有問題,但是如果你插入一個新的列,它將無法工作。 – KentZhou 2011-03-18 20:04:37

相關問題