SQL Server唯一約束的使用

iSQlServer發表於2009-02-06
表結構如下:
   id int 4
   EntryID int 4
   BlogID int 4
   現在要求在插入時,不允許插入EntryID與BlogID都相同的記錄,即表中不允許任意兩條記錄的EntryID與BlogID都相同,EntryID與BlogID構成記錄的唯一標識。
   以前我的處理方法時,在插入之前,通過select檢查是否存在相同的記錄。
現在我採用SQL Server唯一約束來實現,簡單方便,效率又高。實現方法是:
1、在資料庫關係圖中右擊將包含約束的表,然後從快捷選單中選擇"屬性"命令。
-或-
為將包含約束的表開啟表設計器,在表設計器中右擊,然後從快捷選單中選擇"屬性"命令。
2、選擇"索引/鍵"選項卡。
3、選擇"新建"命令。系統分配的名稱出現在"索引名"框中。
4、在"列名"下展開列的列表,選擇要將約束附加到的列(在這裡我們選擇列EntryID、BlogID)。
5、選擇"建立 UNIQUE"核取方塊。
6、選擇"約束"選項。
當儲存表或關係圖時,唯一約束即建立在資料庫中。

現在我們再進行插入,就出現錯誤"違反了 UNIQUE KEY 約束..."。
我們在程式中捕獲這個錯誤,就知道插入了重複記錄。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-545473/,如需轉載,請註明出處,否則將追究法律責任。

相關文章