2016-07-15 70 views
0

我有一張包含400萬條記錄的表。我想在不丟失數據的情況下將orderid更改爲Identity使用Sql Server中的數據爲現有列添加標識

可能嗎?

+0

http://stackoverflow.com/questions/1049210/adding-an-identity-to-an-existing-column – TheGameiswar

+2

看到第二個答案在愚蠢。這是影響最低的方法。 –

回答

0

假設orderid沒有重複項, 1.您可以使用orderid作爲標識列創建一個新表並複製數據。然後刪除現有的表 2.創建一個新的身份列,並刪除現有的OrderID列

ALTER TABLE (yourTable) ADD NewColumn INT IDENTITY(1,1)  
ALTER TABLE (yourTable) DROP COLUMN orderid 

sp_rename 'yourTable.NewColumn', 'orderid', 'COLUMN' 
+0

SET IDENTITY_INSERT dbo。[B] ON insert into dbo。[B](col1,col2,col3,...,coln) - 列出名字 select * from dbo。[A] where reqid = 201 SET IDENTITY_INSERT dbo。[B] OFF – neoo

相關問題