Solved

Need a Unique Constraint Example To Prevent Duplicates

Posted on 2009-04-14
14
469 Views
Last Modified: 2012-05-06
I have a table and I need to prevent duplicate rows on insert and update. The stipulations are as follows:
*The field DeptID can never contain a duplicate.
*Other fields such as contact or requestor may/will have duplicate data
*Need to avoid duplicate rows due to hitting submit twice or anything else a user might do.

Thanks in advance.
SQL-Table.png
0
Comment
Question by:JB4375
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 7
  • 5
  • 2
14 Comments
 
LVL 60

Accepted Solution

by:
chapmandew earned 500 total points
ID: 24141181
alter table yourtablename
add constraint u_deptid unique (deptid)
0
 
LVL 57

Expert Comment

by:Raja Jegan R
ID: 24141342
If DeptID Will / Should not contain Duplicates then you can have that as the primary key of the table right.
What's the use in having another column Sequence as a Primary key.
0
 
LVL 60

Expert Comment

by:chapmandew
ID: 24141402
Well, one thing is that it is a bad idea to have your clustered index on a column that is an nvarchar(50).

BTW...you really should consider designing your data types a little more carefully
0
Ransomware-A Revenue Bonanza for Service Providers

Ransomware – malware that gets on your customers’ computers, encrypts their data, and extorts a hefty ransom for the decryption keys – is a surging new threat.  The purpose of this eBook is to educate the reader about ransomware attacks.

 
LVL 1

Author Comment

by:JB4375
ID: 24141526
@rrjegan17: DeptID will never have a duplicate, where as other fields may. Sequence is the primary key because I have updating turned on. I needed to have all fields editable in the event that someone made a mistake entering a Dept ID.
@Chapmandew: Not really sure about the "Clustered Index" or "Data Types" comment. I'm new to the SQL game. All of the data goes in as text, and I wanted to be sure I had enough room for anything that was entered.
I'm getting "Error Validating Constraint... Do you want to edit?
 
0
 
LVL 57

Expert Comment

by:Raja Jegan R
ID: 24141550
<< "Error Validating Constraint... >>

That means you have data existing in that table and it violated the Unique constraint which you are trying to create.

Remove the duplicates in the existing data and try recreating it again.
0
 
LVL 60

Expert Comment

by:chapmandew
ID: 24141552
did you enter the text in a new query window and run it exactly like I gave you?
0
 
LVL 1

Author Comment

by:JB4375
ID: 24141805
I went to Design Table, Manage Constraints, Check Contraints Tab, New.
From there the Constraint Name is generated and there's a blank window for Constraint Expression.
I copied what you gave me in the window, and when I attempt to close it, that's when I get the error.
 
0
 
LVL 60

Expert Comment

by:chapmandew
ID: 24141842
yeah, don't do that.  Just post what I gave you in a new query window, swap in your tables name, run it and you're done.
0
 
LVL 1

Author Comment

by:JB4375
ID: 24141912
Ok... now I'm getting The Query Designer does not support the ALTER TABLE SQL construct.
0
 
LVL 60

Expert Comment

by:chapmandew
ID: 24141935
i didn't say the query designer.  go to file, new, query.  paste the code I gave you in there.
0
 
LVL 1

Author Comment

by:JB4375
ID: 24142018
I'm in SQL Server Entrprise Manager. When I select file, my choices are options --> disk cleanup, and exit. Any Query option I select takes me to Query Designer.
Sorry to be so clueless.
0
 
LVL 60

Expert Comment

by:chapmandew
ID: 24142045
Ahh...thought you were in management studio.  No worries.  Open up query analyzer instead and give it a shot.
0
 
LVL 1

Author Comment

by:JB4375
ID: 24142114
My bad.... We have both versions.... switched over to Management Studio, and it worked like a charm.
Thanks for your assistance, and infinite patience.
0
 
LVL 60

Expert Comment

by:chapmandew
ID: 24142154
very welcome.
0

Featured Post

Webinar: Aligning, Automating, Winning

Join Dan Russo, Senior Manager of Operations Intelligence, for an in-depth discussion on how Dealertrack, leading provider of integrated digital solutions for the automotive industry, transformed their DevOps processes to increase collaboration and move with greater velocity.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

by Mark Wills PIVOT is a great facility and solves many an EAV (Entity - Attribute - Value) type transformation where we need the information held as data within a column to become columns in their own right. Now, in some cases that is relatively…
Use this article to create a batch file to backup a Microsoft SQL Server database to a Windows folder.  The folder can be on the local hard drive or on a network share.  This batch file will query the SQL server to get the current date & time and wi…
Are you ready to implement Active Directory best practices without reading 300+ pages? You're in luck. In this webinar hosted by Skyport Systems, you gain insight into Microsoft's latest comprehensive guide, with tips on the best and easiest way…
Finding and deleting duplicate (picture) files can be a time consuming task. My wife and I, our three kids and their families all share one dilemma: Managing our pictures. Between desktops, laptops, phones, tablets, and cameras; over the last decade…

752 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question