小编blu*_*lue的帖子

检查@@ROWCOUNT 失败

我在我的 SQL 程序之一中有一个类似于下面的代码,

declare @rowcount int

update table1
set value = @value
where id = @id

select @rowcount = @@ROWCOUNT

 if ( @rowcount = 0 )
 begin
    insert into table1(id, value1,value2...)
    select (@id, @value1, @value2...)
 end 
Run Code Online (Sandbox Code Playgroud)

但它很少失败,比如一天一次等。这意味着数据存在于表中,@@rowcount 为 0,它试图插入数据和主键冲突发生。这里插入的所有值,即。id、value1、value2 等是整数。有什么想法吗?

sql-server primary-key locking

4
推荐指数
1
解决办法
488
查看次数

标签 统计

locking ×1

primary-key ×1

sql-server ×1