一、背景
前一段时间接手一个小项目,里面涉及到数据交互,但是客户的老表的数据没有主键标识;用XPO无法插入数据(NET Core 无法一键生成模型),需要带有主键的表才可以,所以需要针对已有数据添加主键,这是我找到的两种方式。
二、原因
老表的数据没有主键标识,如图所示:
三、方法
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,执行效果如图所示:
五、参考资料
参考网址:https://cloud.tencent.com/developer/article/1414168