【问题标题】:Stop double entry of data in database停止在数据库中重复输入数据
【发布时间】:2014-02-08 14:12:42
【问题描述】:

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

我的场景:

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

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

分享解决方案。

【问题讨论】:

  • 添加一个由源和目标组成的主键。阅读更多here
  • 在上面加一个UNIQUE约束?
  • 在您的列中添加唯一键约束。

标签: sql database sql-server-2005


【解决方案1】:

最简单的方法是在您的数据库中添加一个“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)
)

希望我能帮上忙!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多