sql – 使用主键在现有表中添加列

前端之家收集整理的这篇文章主要介绍了sql – 使用主键在现有表中添加列前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图在现有的表名称Product_Details中添加添加的主键.

添加新列:Product_Detail_ID(int和not null)

我正在尝试向Product_Detail_ID添加主键(请注意:没有其他主键或外键分配给此表)

我正在尝试这个查询,但得到错误.

ALTER TABLE Product_Details
ADD CONSTRAINT pk_Product_Detils_Product_Detail_ID PRIMARY KEY(Product_Detail_ID)
GO

错误

The CREATE UNIQUE INDEX statement terminated because a duplicate key was found for the object name 'dbo.Product\_Details' and the index name 'pk\_Product\_Detils'. The duplicate key value is (0).

我在这里遗漏了什么吗?我正在使用sql Server 2008 R2.我将不胜感激任何帮助.

解决方法

如果您希望sql Server自动为新列提供值,请使其成为一个身份.
ALTER TABLE Product_Details DROP COLUMN Product_Detail_ID
GO
ALTER TABLE Product_Details ADD Product_Detail_ID int identity(1,1) not null
GO
ALTER TABLE Product_Details
add CONSTRAINT pk_Product_Detils_Product_Detail_ID primary key(Product_Detail_ID)
GO
原文链接:https://www.f2er.com/mssql/76350.html

猜你在找的MsSQL相关文章