C# 防止SQL Server数据库中出现重复记录的最佳方法是什么
防止SQL Server数据库中出现重复记录的最佳方法是什么?使用触发器?使用唯一约束?对表中的一列或多列使用唯一约束。 例如: 修改现有表格如下C# 防止SQL Server数据库中出现重复记录的最佳方法是什么,c#,sql,sql-server-2008,C#,Sql,Sql Server 2008,防止SQL Server数据库中出现重复记录的最佳方法是什么?使用触发器?使用唯一约束?对表中的一列或多列使用唯一约束。 例如: 修改现有表格如下 ALTER TABLE Persons ADD CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName) 如果使用前端应用程序填充数据库中的表。在插入数据库之前,从数据库上的应用程序执行验证选择查询以检查重复项。使用约束将通过引发异常来防止重复 注意:上面的示例是SQL SERVER、Oracle、ms acces
ALTER TABLE Persons
ADD CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)
如果使用前端应用程序填充数据库中的表。在插入数据库之前,从数据库上的应用程序执行验证选择查询以检查重复项。使用约束将通过引发异常来防止重复
注意:上面的示例是SQL SERVER、Oracle、ms access
有关更深入的解决方案,请参见对表中的一列或多列使用唯一约束。 例如: 修改现有表格如下
ALTER TABLE Persons
ADD CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)
如果使用前端应用程序填充数据库中的表。在插入数据库之前,从数据库上的应用程序执行验证选择查询以检查重复项。使用约束将通过引发异常来防止重复
注意:上面的示例是SQL SERVER、Oracle、ms access
要获得更深入的解决方案,请参见,前提是您不希望从唯一约束抛出错误,并且希望数据库接收重复数据,但不插入任何内容。您可以查看merge语句
若不希望从唯一约束抛出错误,也希望数据库接收重复数据,但不插入任何内容。您可以查看merge语句
使用唯一索引或约束,如果用谷歌搜索,你将得到成千上万的答案!一般来说,我建议使用专门为特定用途设计的特性,而不是使用触发器。只有在其他DRI功能无法实现您的总体目标时才使用触发器。为什么会被否决?这对我来说似乎是个公平的问题。我用谷歌搜索了一下,这篇文章就出现了。这有利于堆栈溢出,对吗?@Shana:如果答案有帮助,请向上投票或将其标记为已回答。使用唯一索引或约束。如果谷歌搜索,您将获得数千个答案!一般来说,我建议使用专门为特定用途设计的特性,而不是使用触发器。只有在其他DRI功能无法实现您的总体目标时才使用触发器。为什么会被否决?这对我来说似乎是个公平的问题。我用谷歌搜索了一下,这篇文章就出现了。这有利于堆栈溢出,对吗?@Shana:如果答案有帮助,请向上投票或将其标记为已回答。@Chukwu你能给我举个例子吗。Thanks@Chukwu你能给我举个例子吗。谢谢