停止在数据库中双重输入数据

时间:2014-01-19 12:07:27

标签: sql database sql-server-2005

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

我的情景:

我必须决定这两个字符串列:'source'和'destination'

如果在任何记录中出现类似的来源和目的地,我们必须停止记录中的记录。

分享解决方案。

1 个答案:

答案 0 :(得分: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)
)

希望我帮忙!