2017-02-16 62 views
0

我有一个没有id列的MSSQL表,主要是因为我意外地丢弃了它并重新创建列。有没有在SQL中自动添加值的方法,所以我不必手动在那里放置一个ID号码?自动添加列到SQL Server

+0

并使列自动递增。在SQL SERVER中,它被称为IDENTITY –

+1

请记住,如果你有一个从其他表的关系到该表的id并且在现有记录中分配新的id,你还需要更新其他表中的id – Kostis

回答

1

使用CTE为初始复育:

with CTE as 
(
select t1.*, row_number() over (order by AnyColumn) as RN 
from MyTable t1 
) 
update CTE 
set ID = RN 
+0

John我认为ID是空白的,那么如何检查设置ID = RN –

0

解决方案1:在新列的测试数据库恢复最新备份然后更新标识的

解决方案2:更新ID的从其他关系表基于列映射。