By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
446,259 Members | 1,349 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 446,259 IT Pros & Developers. It's quick & easy.

SQL Duplicate Error

P: n/a
SJ
Hi!

I am trying to do a simple udpate on a table and I am getting the
error:

"Cannot insert duplicate key row in object 'UserInfo' with unique
index 'UserInfo_Login'.The statement has been terminated."

Here is the command I am trying to run
---
USE Deve2_SITE

update UserInfo set tp_Login=N'DEV2\sam', tp*************@test.com',
tp_Title=N'Samson, Sammy'
WHERE (tp_Login=N'DEV\sam')
--

Any ideas?

Jun 20 '07 #1
Share this Question
Share on Google+
4 Replies


P: n/a
What it seems to be saying is that there is already a row in the table
with the value N'DEV2\sam', and the index UserInfo_Login has a unique
constraint that does not permit duplicates. However it is possible
the index has multiple columns. To know exactly you would need to
know the details of the definition of the index UserInfo_Login on the
table UserInfo. You could find that out by running:

EXEC sp_helpindex Deve2_SITE..UserInfo

Roy Harvey
Beacon Falls, CT

On Wed, 20 Jun 2007 09:51:15 -0700, SJ <sj******@gmail.comwrote:
>Hi!

I am trying to do a simple udpate on a table and I am getting the
error:

"Cannot insert duplicate key row in object 'UserInfo' with unique
index 'UserInfo_Login'.The statement has been terminated."

Here is the command I am trying to run
---
USE Deve2_SITE

update UserInfo set tp_Login=N'DEV2\sam', tp*************@test.com',
tp_Title=N'Samson, Sammy'
WHERE (tp_Login=N'DEV\sam')
Jun 20 '07 #2

P: n/a
On Jun 20, 11:51 am, SJ <sjour...@gmail.comwrote:
Hi!

I am trying to do a simple udpate on a table and I am getting the
error:

"Cannot insert duplicate key row in object 'UserInfo' with unique
index 'UserInfo_Login'.The statement has been terminated."

Here is the command I am trying to run
---
USE Deve2_SITE

update UserInfo set tp_Login=N'DEV2\sam', tp_Email=N't...@test.com',
tp_Title=N'Samson, Sammy'
WHERE (tp_Login=N'DEV\sam')
--

Any ideas?
In addition to Roy's advice, do you have triggers on your table?

http://sqlserver-tips.blogspot.com/

Jun 20 '07 #3

P: n/a
SJ
On Jun 20, 1:42 pm, Alex Kuznetsov <AK_TIREDOFS...@hotmail.COMwrote:
On Jun 20, 11:51 am, SJ <sjour...@gmail.comwrote:


Hi!
I am trying to do a simple udpate on a table and I am getting the
error:
"Cannot insert duplicate key row in object 'UserInfo' with unique
index 'UserInfo_Login'.The statement has been terminated."
Here is the command I am trying to run
---
USE Deve2_SITE
update UserInfo set tp_Login=N'DEV2\sam', tp_Email=N't...@test.com',
tp_Title=N'Samson, Sammy'
WHERE (tp_Login=N'DEV\sam')
--
Any ideas?

In addition to Roy's advice, do you have triggers on your table?

http://sqlserver-tips.blogspot.com/- Hide quoted text -

- Show quoted text -
Thanks all. I guess i dont know what an index is. And why an update
would matter. This is the result of the EXEC command:

UserInfo_FullText nonclustered, unique located on PRIMARY tp_GUID
UserInfo_Login nonclustered, unique located on PRIMARY tp_SiteID,
tp_Login, tp_Deleted
UserInfo_PK clustered, unique, primary key located on PRIMARY
tp_SiteID, tp_ID
UserInfo_SID nonclustered, unique located on PRIMARY tp_SiteID,
tp_SystemID

ANy ideas? Why is an update command doing an insert (that is probably
a dumb question)

Jun 20 '07 #4

P: n/a
>UserInfo_Login nonclustered, unique located on PRIMARY tp_SiteID,
>tp_Login, tp_Deleted
OK, the UNIQUE contraint is on three columns, the combination of
tp_SiteID, tp_Login and tp_Deleted.

The UPDATE command is not doing an INSERT, but it is changing the
value of the column so that the combination of those three columns
conflicts with data already in the table - it woud violate the UNIQUE
contraint.

If you run the query:

SELECT *
FROM Deve2_SITE..UserInfo
WHERE tp_Login IN ( N'DEV\sam', N'DEV2\sam')
ORDER BY tp_Login, tp_SiteID, tp_Deleted

That will show the rows that are in conflict. What you are looking
for is that there is already DEV2\sam for at least one matching pair
of tp_SiteID/tp_Deleted values.

Hope that helps.

Roy Harvey
Beacon Falls, CT

On Wed, 20 Jun 2007 11:55:41 -0700, SJ <sj******@gmail.comwrote:
>On Jun 20, 1:42 pm, Alex Kuznetsov <AK_TIREDOFS...@hotmail.COMwrote:
>On Jun 20, 11:51 am, SJ <sjour...@gmail.comwrote:
Hi!
I am trying to do a simple udpate on a table and I am getting the
error:
"Cannot insert duplicate key row in object 'UserInfo' with unique
index 'UserInfo_Login'.The statement has been terminated."
Here is the command I am trying to run
---
USE Deve2_SITE
update UserInfo set tp_Login=N'DEV2\sam', tp_Email=N't...@test.com',
tp_Title=N'Samson, Sammy'
WHERE (tp_Login=N'DEV\sam')
--
Any ideas?

In addition to Roy's advice, do you have triggers on your table?

http://sqlserver-tips.blogspot.com/- Hide quoted text -

- Show quoted text -

Thanks all. I guess i dont know what an index is. And why an update
would matter. This is the result of the EXEC command:

UserInfo_FullText nonclustered, unique located on PRIMARY tp_GUID
UserInfo_Login nonclustered, unique located on PRIMARY tp_SiteID,
tp_Login, tp_Deleted
UserInfo_PK clustered, unique, primary key located on PRIMARY
tp_SiteID, tp_ID
UserInfo_SID nonclustered, unique located on PRIMARY tp_SiteID,
tp_SystemID

ANy ideas? Why is an update command doing an insert (that is probably
a dumb question)
Jun 20 '07 #5

This discussion thread is closed

Replies have been disabled for this discussion.