2014-01-19 34 views
-2

我正在使用VS 2008和SQL Server 2005.并且问题是当我插入一个新的记录时,它是字符串数据。它继续输入已经退出表格的相同数据,一次又一次。但我希望在插入查询运行的地方。我把支票放在那里,它不允许表中的类似数据。停止在数据库中重复输入数据

我的情景:

我必须在这两个字符串列决定:“源”和“目的地”

如果类似的源和目标发生在任何记录,我们必须停止,我们进入记录。

分享解决方案。

+0

添加一个由源和目标组成的主键。阅读更多[这里](http://stackoverflow.com/questions/217945/can-i-have-multiple-primary-keys-in-a-single-table) – Shai

+1

在它上面添加一个UNIQUE约束? – wildplasser

+0

在列中添加一个UNIQUE键约束。 – prograshid

回答

0

最简单的方法是在数据库中放置'UNIQUE constraint'。然后,每次执行SQL UPDATE或SQL INSERT时,数据库服务器都会检查新SQL操作的有效性,并在违反数据完整性约束时取消它。

例如(从这个SQL tutorial复制):

CREATE TABLE Persons 
(
P_Id int NOT NULL UNIQUE, 
LastName varchar(255) NOT NULL, 
FirstName varchar(255), 
Address varchar(255), 
City varchar(255) 
) 

如果你想在两列添加UNIQUE约束,你可以使用这样的表述:

CREATE TABLE Example 
(Col1 int NOT NULL, 
Col2 int NOT NULL, 
UNIQUE (Col1, Col2) 
) 

希望我帮助!