有数据的表插入主键

在有数据的表里插入主键
一般这种情况是数据是导入的,没有建立主键,此时想插入主键,首先先建立一个int类型、可以为null的字段,我这里是CarConfigID,然后运行

declare @i int   
set @i=1
 DECLARE My_Cursor CURSOR --定义游标  
FOR (SELECT * FROM ST_CarConfig) --查出需要的集合放到游标中  
OPEN My_Cursor; --打开游标  
FETCH NEXT FROM My_Cursor ; --读取第一行数据  
WHILE @@FETCH_STATUS = 0  
    BEGIN  
        update ST_CarConfig set CarConfigID=@i WHERE CURRENT OF My_Cursor; --更新  
		set @i=@i+1
        FETCH NEXT FROM My_Cursor; --读取下一行数据  
    END  
CLOSE My_Cursor; --关闭游标  
DEALLOCATE My_Cursor; --释放游标  
GO  

运行完成后,到数据库设计里面将CarConfigID设置为主键,自增1,SQL Server不报错,保存即可。