SQLServer中防止并发插入重复数据的方法详解

Elina ·
更新时间:2024-11-13
· 718 次阅读

SQLServer中防止并发插入重复数据,大致有以下几种方法:

1.使用Primary Key,Unique Key等在数据库层面让重复数据无法插入。

2.插入时使用条件

insert into Table(****) select **** where not exists(select 1 from Table where ****);

3.使用SERIALIZABLE隔离级别,并且使用updlock或者xlock锁提示(等效于在默认隔离级别下使用(updlock,holdlock)或(xlock,holdlock))

set transaction isolation level SERIALIZABLE Begin Tran select 1 from Table with(UPDLOCK) where **** --这里即算有索引支撑的情况下,加的也是范围锁RangeS-U,虽然能锁住,但并发性能也不佳。 if @@ROWCOUNT = 0 insert into Table (****) values(****); Commit Tran 您可能感兴趣的文章:SqlServer 在事务中获得自增ID的实例代码SqlServer中模糊查询对于特殊字符的处理方法Sqlserver 高并发和大数据存储方案sqlServer实现去除字符串空格浅谈sqlserver下float的不确定性



复数 方法 数据 并发 sqlserver

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章