首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >防止SQL Server数据库中出现重复记录的最佳方法是什么

防止SQL Server数据库中出现重复记录的最佳方法是什么
EN

Stack Overflow用户
提问于 2015-05-05 18:28:05
回答 2查看 8.5K关注 0票数 2

防止SQL Server数据库中出现重复记录的最佳方法是什么?使用触发器?使用唯一约束?

EN

回答 2

Stack Overflow用户

发布于 2015-05-05 18:30:55

对表中的一列或多列使用唯一约束。示例:

代码语言:javascript
运行
复制
CREATE TABLE Persons
(
P_Id int NOT NULL UNIQUE,
LastName varchar(255) NOT NULL UNIQUE,
FirstName varchar(255) NOT NULL UNIQUE, 
Address varchar(255),
City varchar(255)
)

更改现有表,如下所示

代码语言:javascript
运行
复制
ALTER TABLE Persons
ADD CONSTRAINT uc_PersonID UNIQUE (P_Id,LastName)

如果您使用前端应用程序来填充数据库中的表。在数据库上执行应用程序中的验证select查询,以在插入到数据库之前检查重复项。使用约束将通过抛出异常来防止重复。

注:以上示例为SQL SERVER、Oracle、ms access

有关更深入的解决方案,请参阅How to prevent duplicate records being inserted with SqlBulkCopy when there is no primary key

票数 8
EN

Stack Overflow用户

发布于 2015-05-05 19:49:54

如果您不希望从unique约束抛出错误,并且还希望数据库接收重复数据但不插入任何内容。您可以查看merge语句

https://technet.microsoft.com/en-us/library/bb522522%28v=sql.105%29.aspx?f=255&MSPPError=-2147217396

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30050482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档