我正在使用VS 2008和SQL Server 2005.问题是当我插入一个新的记录,这是一个字符串数据。它继续输入已经在表中退出的相同数据,一次又一次。但我希望我的插入查询运行的地方。我在那里检查它不允许表中的类似数据。
我的情景:
我必须决定这两个字符串列:'source'和'destination'
如果在任何记录中出现类似的来源和目的地,我们必须停止记录中的记录。
分享解决方案。
答案 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)
)
希望我帮忙!