SQL Server唯一約束的使用
表結構如下:
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、選擇"約束"選項。
當儲存表或關係圖時,唯一約束即建立在資料庫中。
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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PostgreSQL唯一約束如何使用?SQL
- Sql Server系列:鍵和約束SQLServer
- Oracle主鍵約束、唯一鍵約束、唯一索引的區別(轉)Oracle索引
- SQL Server中使用Check約束達到提升效能SQLServer
- 在 SQL Server 中,建立表時可以直接為欄位新增唯一約束(UNIQUE)SQLServer
- 【SQL】15 SQL 約束(Constraints)、NOT NULL 約束、UNIQUE 約束、PRIMARY KEY 約束、FOREIGN KEY 約束、CHECK 約束、DEFAULT約束SQLAINull
- Sql Server 自定義約束 實現:某列 可空,但非空值唯一不重複SQLServer
- SQL約束SQL
- SQL Server 資料表程式碼建立約束SQLServer
- SQL Server約束和DML觸發器的比較SQLServer觸發器
- SQL SERVER中找出拙劣的約束,索引,外來鍵SQLServer索引
- Oracle唯一約束中NULL的處理OracleNull
- sql server中預設約束的通用sql指令碼的刪除方法SQLServer指令碼
- 唯一性約束和唯一性索引的區別索引
- SQL Server2008建立約束圖解SQLServer圖解
- sql: 查詢約束SQL
- NULL和唯一約束UNIQUE的對應關係Null
- MySQL·捉蟲動態·唯一鍵約束失效MySql
- SQL之延遲約束SQL
- 【INDEX】Oracle中主鍵、唯一約束與唯一索引之區別IndexOracle索引
- 建立Oracle唯一約束,忽略已有的重複值Oracle
- Mysql-基本練習(06-唯一約束、外來鍵約束、新增、刪除單列)MySql
- SQL FOREIGN KEY 約束SQL
- SQL教程——常見的約束型別SQL型別
- 在 SQL Server 中 你可以使用以下查詢來找到引用 的 FOREIGN KEY 約束SQLServer
- SQL的主鍵和外來鍵約束SQL
- 【SQL】使用sql更改表的列的資料型別和新增新列和約束SQL資料型別
- PostgreSQL違反唯一約束的插入操作會產品HEAP垃圾嗎?SQL
- Sql server 檢視錶引用、依賴項,刪除表及約束 指令碼SQLServer指令碼
- SQL外來鍵約束的含義及建立SQL
- 【PK】Oracle 10g刪除主鍵約束後無法刪除唯一約束索引問題的模擬與分析Oracle 10g索引
- 【CONSTRAINT】具有唯一性約束的列是否可以插入空值AI
- Javaweb-約束-外來鍵約束JavaWeb
- 查詢(看)表的主鍵、外來鍵、唯一性約束和索引索引
- Logical Standby中為什麼要求表中資料的唯一性約束
- 資料庫約束 主鍵-唯一性-Check-外來鍵資料庫
- Oracle定義約束 外來鍵約束Oracle
- oracle中的約束Oracle