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、选择"约束"选项。
当保存表或关系图时,唯一约束即创建在数据库中。
现在我们再进行插入,就出现错误"违反了 UNIQUE KEY 约束..."。
我们在程序中捕获这个错误,就知道插入了重复记录。