SqlServer对已有数据表添加自增主键

一、背景

       前一段时间接手一个小项目,里面涉及到数据交互,但是客户的老表的数据没有主键标识;用XPO无法插入数据(NET Core 无法一键生成模型),需要带有主键的表才可以,所以需要针对已有数据添加主键,这是我找到的两种方式。

二、原因

  老表的数据没有主键标识,如图所示:

SqlServer对已有数据表添加自增主键_第1张图片

三、方法

1.主键为int或者bigint

ALTER TABLE 出库单 ADD oid int identity(1,1)  PRIMARY KEY;

2.主键为guid

ALTER TABLE dbo.出库单 ADD
oid uniqueidentifier NOT NULL CONSTRAINT DF_出库单_oid DEFAULT newid()
GO
ALTER TABLE dbo.出库单 ADD CONSTRAINT
PK_出库单 PRIMARY KEY CLUSTERED
(
oid
) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];

四、效果

方法2,执行效果如图所示:

SqlServer对已有数据表添加自增主键_第2张图片

SqlServer对已有数据表添加自增主键_第3张图片

五、参考资料

参考网址:https://cloud.tencent.com/developer/article/1414168

你可能感兴趣的:(SqlServer对已有数据表添加自增主键)