2014-01-19 35 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) 
) 

希望我幫助!