I am trying to add primary key as newly added column Product_Detail_ID
( int
and not null
) in existing table name Product_Details
. But I am gettin an error.
(There are no other primary or foreign keys assigned to this table.)
ALTER TABLE Product_Details
ADD CONSTRAINT pk_Product_Detils_Product_Detail_ID PRIMARY KEY(Product_Detail_ID)
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).
What am I missing?
I am using SQL Server 2008 R2.
8条答案
按热度按时间rseugnpd1#
If you want SQL Server to automatically provide values for the new column, make it an identity.
alen0pnh2#
In mysql, I was able to achieve with following query
ALTER TABLE table_name ADD new_column int NOT NULL AUTO_INCREMENT primary key
vxf3dgd43#
You are getting the error because you have existing data that does not fullfill the constraint.
There are 2 ways to fix it:
ma8fv8wu4#
Add Primary Key to First Position
Reference: Stack Overflow | Tech On The Net
qaxu7uf25#
here
Jaya
is table name,no
is column name,ADD CONSTRAINT
is we giving the primary key keywordjv4diomz6#
If you want to add a new column say deptId to the existing table say department then you can do it using the below code.
it will create your new column named deptID.
now if you want to add constraint also along with new column while creating it then you can do it using the below code. In the below code I am adding primary key as a constraint. you can add another constraint also instead of primary key like foreign key, default etc.
wsewodh27#
For SQL Server:
ALTER TABLE table_name ADD column_name INT identity(1,1) NOT NULL PRIMARY KEY;
huus2vyu8#
k. friend command: sql> alter table tablename add primary key(col_name);
ex: alter table pk_Product_Detils add primary key(Product_Detail_ID);