在有数据的表里插入主键
一般这种情况是数据是导入的,没有建立主键,此时想插入主键,首先先建立一个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不报错,保存即可。